ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2021-05-13 14:56:27  阅读:184  来源: 互联网

标签:siteurl get Python self 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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有