编程语言
首页 > 编程语言> > 百度快排探究(一),Python selenium 实现自然搜索访问目标网站

百度快排探究(一),Python selenium 实现自然搜索访问目标网站

作者:互联网

快排是现在比较火热的seo手段,快排即快速排名,相比传统的优化手段,尤其是企业站而言,快排能够快速占据排名,获取流量及客户,也是最热门的韭菜项目,可谓酸爽至极。

快排有没有用,据观察,应该是有用的,不管是从百度专利算法,还是从百度搜索上的排名体现,都能够看到快排的效果,而本渣渣也关注过不少匪夷所思的网站排名,很难说服自己这不是快排的身影效果。

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

首先声明:

第一:市面上确实有很多快排,至于效果,试过才知道,大部分应该都是智商税;第二:本渣渣不会快排,也没有用过快排;第三:本渣渣在尝试探究快排,至于能否实现,还是一个未知数,欢迎一起探讨交流。

还处于探索研究期,有进度会第一时间总结,分享,大概会出一个系列的探索吧,原创不易,点个在看,关注吧!

手里头有一两份快排源码,参考着探索了一下快排,通过Python selenium 实现了自然搜索访问目标网站,已经在百度统计中获取到访问信息。

感兴趣的大佬哥,欢迎交流分享!

Python selenium 环境配置

  1. python3 安装

官网下载python3安装包,选定路径安装并配置环境变量,可自行百度 相关安装教程。

  1. selenium 安装 通过 python pip 安装即可

pip install selenium

  1. 浏览器驱动安装

本渣渣这里使用的是谷歌浏览器,所以安装的 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名的搜索提交,可实现自然流量的访问记录,以关键词的自然搜索方式来进入到目标网站当中,百度统计中可以看到访问来路。

总结和思考

  1. 如果你的人为模拟够给力,刷百度竞价应该可以实现,不知道百度对于竞价过滤的方式是如何,不过考虑到点的越多,消费越多,百度的力度是否有多大呢,那些真正可以实现快排的,应该可以刷竞价吧!

  2. 如果模拟人为搜索,相关参数,以及设置,需要如何模仿,以达到符合用户搜索的行为呢,这都需要下一步的测试,包括,设备,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

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=      

微信公众号:二爷记

不定时分享python源码及工具

标签:siteurl,get,Python,self,selenium,快排,搜索,百度
来源: https://blog.51cto.com/u_15200177/2773426