百度快排探究(一),Python selenium 实现自然搜索访问目标网站
作者:互联网
快排是现在比较火热的seo手段,快排即快速排名,相比传统的优化手段,尤其是企业站而言,快排能够快速占据排名,获取流量及客户,也是最热门的韭菜项目,可谓酸爽至极。
快排有没有用,据观察,应该是有用的,不管是从百度专利算法,还是从百度搜索上的排名体现,都能够看到快排的效果,而本渣渣也关注过不少匪夷所思的网站排名,很难说服自己这不是快排的身影效果。
首先声明:
第一:市面上确实有很多快排,至于效果,试过才知道,大部分应该都是智商税;第二:本渣渣不会快排,也没有用过快排;第三:本渣渣在尝试探究快排,至于能否实现,还是一个未知数,欢迎一起探讨交流。
还处于探索研究期,有进度会第一时间总结,分享,大概会出一个系列的探索吧,原创不易,点个在看,关注吧!
手里头有一两份快排源码,参考着探索了一下快排,通过Python selenium 实现了自然搜索访问目标网站,已经在百度统计中获取到访问信息。
感兴趣的大佬哥,欢迎交流分享!
Python selenium 环境配置
python3 安装
官网下载python3安装包,选定路径安装并配置环境变量,可自行百度 相关安装教程。
selenium 安装 通过 python pip 安装即可
pip install selenium
浏览器驱动安装
本渣渣这里使用的是谷歌浏览器,所以安装的 chromedriver 驱动。
关键点
1.百度搜索翻页
遇到的问题,当翻页到第三页的时候,死活翻不过去,一直在第一页以及第二页循环。
#百度搜索结果翻页 def get_nextpage(self): self.browser.find_element_by_xpath("//div[@id='page']/div[@class='page-inner']/a[@class='n']").click() time.sleep(8)
思考
应该是定位翻页元素丢失,同时结合百度搜索相关问题,找到相关内容。
解决方案
另一个翻页版本
#百度搜索结果翻页第三页 def get_newnextpage(self,i): self.browser.find_element_by_xpath(f"//div[@id='page']/div[@class='page-inner']/a[{i}]").click() time.sleep(8)
2.百度搜索网址转码
把搜索结果的网址转化为正常的网页地址。
获取定位元素,使用get_attribute方法。
#解密匹配网站 def get_trueurl(self,searchurl,siteurl): search_url=searchurl.get_attribute('href') #print(search_url) # 解密url resulturl = requests.head(search_url).headers['location'] print(resulturl)
3.找到目标网址,并访问
匹配搜索结果的网页地址,直接用 in 即可,这里需要注意的是,访问目标网址的方式,以网址的访问形式是无法统计到自然流量当中的,只能算是直接访问。
def get_urlchilk(self,searchurl,resulturl,siteurl): if siteurl in resulturl: print("找到目标网站,开始访问网站..") searchurl.click() time.sleep(2)
4.一个莫名的错误,待解决中
出现过一两次的错误,如果解决不了,考虑使用 try/except 来跳过这样的错误内容!Selenium中错误:selenium.common.exceptions.ElementClickInterceptedException: Message: element click inte
5.翻页实现
渣渣就是渣渣,使用了笨方法,完成了百度搜索结果前十页,也就是前百名的搜索。
def main(self,keyword,siteurl): self.get_search(keyword) print("正在查询第1页搜索结果..") self.get_searchurls(siteurl) print("正在查询第2页搜索结果..") self.get_nextpage() self.get_searchurls(siteurl) print("正在查询第3页搜索结果..") self.get_newnextpage(3) self.get_searchurls(siteurl) print("正在查询第4页搜索结果..") self.get_newnextpage(4) self.get_searchurls(siteurl) print("正在查询第5页搜索结果..") self.get_newnextpage(5) self.get_searchurls(siteurl) print("正在查询第6页搜索结果..") self.get_newnextpage(6) self.get_searchurls(siteurl) print("正在查询第7页搜索结果..") self.get_newnextpage(7) self.get_searchurls(siteurl) print("正在查询第8页搜索结果..") self.get_newnextpage(7) self.get_searchurls(siteurl) print("正在查询第9页搜索结果..") self.get_newnextpage(7) self.get_searchurls(siteurl) print("正在查询第10页搜索结果..") self.get_newnextpage(7) self.get_searchurls(siteurl)
当然代码精简和优化的很大余地,或者考虑换一个方式来实现?
以上,实现了百度搜索结果前十页,也就是前100名的搜索提交,可实现自然流量的访问记录,以关键词的自然搜索方式来进入到目标网站当中,百度统计中可以看到访问来路。
总结和思考
如果你的人为模拟够给力,刷百度竞价应该可以实现,不知道百度对于竞价过滤的方式是如何,不过考虑到点的越多,消费越多,百度的力度是否有多大呢,那些真正可以实现快排的,应该可以刷竞价吧!
如果模拟人为搜索,相关参数,以及设置,需要如何模仿,以达到符合用户搜索的行为呢,这都需要下一步的测试,包括,设备,cookies,以及大部分人所说的ip!
参考来源:
分享百度快排发包python源码核心文件
https://www.52pojie.cn/thread-1035569-1-1.html
selenium之百度搜索,结果列表翻页查询
https://www.cnblogs.com/shouke/p/10158134.html
Selenium中错误:selenium.common.exceptions.ElementClickInterceptedException: Message: element click inte
https://blog.csdn.net/please_fix_/article/details/104949016
微信公众号:二爷记
不定时分享python源码及工具
标签:siteurl,get,Python,self,selenium,快排,搜索,百度 来源: https://blog.51cto.com/u_15200177/2773426