您现在的位置是:主页 > news > 网站怎么提高百度权重/站外推广渠道有哪些

网站怎么提高百度权重/站外推广渠道有哪些

admin2025/5/29 6:31:09news

简介网站怎么提高百度权重,站外推广渠道有哪些,wp网站系统模板,如何建设网站效果好项目场景: 最近基本学完了seleninum自动抓取框架,实践是检验真理的唯一标准,还是要在实战中进行提升。 问题描述: 此次没法再原来的爬虫基础上进行改进了,从request到selenium还是非常大的,要为我原来的爬…

网站怎么提高百度权重,站外推广渠道有哪些,wp网站系统模板,如何建设网站效果好项目场景: 最近基本学完了seleninum自动抓取框架,实践是检验真理的唯一标准,还是要在实战中进行提升。 问题描述: 此次没法再原来的爬虫基础上进行改进了,从request到selenium还是非常大的,要为我原来的爬…

项目场景:

最近基本学完了seleninum自动抓取框架,实践是检验真理的唯一标准,还是要在实战中进行提升。


问题描述:

此次没法再原来的爬虫基础上进行改进了,从request到selenium还是非常大的,要为我原来的爬虫进行大换血的改造。有兴趣的可以看我之前代码的python爬取图片到增量式爬虫。


解决方案:

import re
import requests
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import osdef hide():chrome_options = Options()chrome_options.add_argument('--disable-gpu')  # 谷歌文档提到需要加上这个属性来规避bugchrome_options.add_argument('--hide-scrollbars')  # 隐藏滚动条, 应对一些特殊页面chrome_options.add_argument('blink-settings=imagesEnabled=false')  # 不加载图片, 提升速度chrome_options.add_argument('--headless') #无标题浏览return chrome_optionsdef Gethtml(url):driver = webdriver.Chrome(options=hide())driver.get(url)s = driver.find_elements_by_css_selector("div[class='slist'] li a")if str(s[-1].get_attribute("href")).split("/")[-2] == "4kmeinv":pic=s[:-2]for i in pic:huoqvpicture(str(i.get_attribute("href")))print("翻页")Gethtml(str(s[-1].get_attribute("href")))def huoqvpicture(url):driver = webdriver.Chrome(options=hide())driver.get(url)s=driver.find_elements_by_css_selector("div[class='photo-pic'] a img")print(s.get_attribute("title"))GetPicture(str(i.get_attribute("src")),str(i.get_attribute("title")))def GetPicture(url,name):root = "./"path =root + name+".jpg"try:if not os.path.exists(root):os.mkdir(root)if not os.path.exists(path):r = requests.get(url)with open(path, 'wb') as f:f.write(r.content)f.close()print("文件保存成功")else:print("文件已存在")except:print("爬取失败")def main():url="https://pic.netbian.com/4kmeinv/index.html"Gethtml(url)main()

现在按函数分类来逐个分析一下。

import re
import requests
from selenium import webdriver 
from selenium.webdriver.chrome.options import Options
import os

调用需要的库

def hide():chrome_options = Options()chrome_options.add_argument('--disable-gpu')  # 谷歌文档提到需要加上这个属性来规避bugchrome_options.add_argument('--hide-scrollbars')  # 隐藏滚动条, 应对一些特殊页面chrome_options.add_argument('blink-settings=imagesEnabled=false')  # 不加载图片, 提升速度chrome_options.add_argument('--headless') #无标题浏览return chrome_options

这个函数用来隐藏浏览器界面,selenium的原理就是再系统中启动一个浏览器进行拟人的操作,刚开始写selenium不建议隐藏,可以比较清晰的看到爬虫的爬取过程,等整个流程写完了在调用这个函数即可。

def Gethtml(url):driver = webdriver.Chrome(options=hide()) #创建无界面浏览,有界面去掉参数即可driver.get(url) #访问对应的url(和之前爬虫的网站一样)s = driver.find_elements_by_css_selector("div[class='slist'] li a")#用css语法获得对应html并形成列表,列表最后一项为下一页if str(s[-1].get_attribute("href")).split("/")[-2] == "4kmeinv":#如果列表最后一项是下一页(排除最后一页的干扰)pic=s[:-2] #获取除最后一项的列表(所有图片的html)for i in pic:#遍历每一项进行高清图片下载。huoqvpicture(str(i.get_attribute("href")))print("翻页")#将最后一个url作为参数调用自身,达到翻页的效果Gethtml(str(s[-1].get_attribute("href")))

第一个函数的作用主要是获得高清照片对应的url,应为展示界面的图片清晰度都比较低。

def huoqvpicture(url):driver = webdriver.Chrome(options=hide())driver.get(url)s=driver.find_elements_by_css_selector("div[class='photo-pic'] a img")#定位jpg文件所在的标签print(s.get_attribute("title"))#打印照片的名字方便观察爬取进度GetPicture(str(i.get_attribute("src")),str(i.get_attribute("title")))#将jpg地址和图片名字作为参数调用GetPicture进行保存

第二个函数的作用是获取高清图片的jpg地址和名字

def GetPicture(url,name):root = "./"path =root + name+".jpg"try:if not os.path.exists(root):os.mkdir(root)if not os.path.exists(path):r = requests.get(url)with open(path, 'wb') as f:f.write(r.content)f.close()print("文件保存成功")else:print("文件已存在")except:print("爬取失败")

第三个函数就是基本的下载图片的框架,只不过名字要用传进来的参数而已。

总结

自此selenium结束,这个爬虫还比较初级,下一步准备加入多线程来爬取图片,调用数据库来进行数据的去重,还有一个个人建议,写好的程序不要放着不再看,要将学到的知识一步一步融进去将自己的代码进行一次次的升级,进而提高自己的水平。