jsp网站开发总结,国家职业资格证书网站,和动物做的网站吗,湖北建设部网站官网在第一篇博文中也提及到User-Agent#xff0c;表示请求载体的身份#xff0c;也就是说明通过什么浏览器进行访问服务器的#xff0c;这一点很重要。
① UA检测
门户网站服务器会检测请求载体的身份。如果检测到载体的身份表示为某一款浏览器的请求#xff0c;则说明这是一…在第一篇博文中也提及到User-Agent表示请求载体的身份也就是说明通过什么浏览器进行访问服务器的这一点很重要。
① UA检测
门户网站服务器会检测请求载体的身份。如果检测到载体的身份表示为某一款浏览器的请求则说明这是一个正常的请求若检测到载体身份标识并不是基于任意一款浏览器则说明这是一个非正常的请求也就是爬虫服务器很有可能拒绝该请求
② UA伪装
让爬虫对应的请求载体身份标识进行伪装成某一款浏览器
项目
项目概述用户输入指定的关键词之后通过百度搜索引擎查到的所有相关页面进行下载到本地
步骤 ① 打开百度搜索任意关键字信息查看地址栏信息 例如我这里搜索beyond地址栏信息为https://www.baidu.com/s?ieutf-8f8rsv_bp1tnbaiduwdbeyondoq%25E9%25BB%2584%25E5%25AE%25B6%25E9%25A9%25B9rsv_pq86cafe360003cde6rsv_t6497SlvSbubKeEQiJKGnLL%2BCucYyWr9OJTHOTd0x%2Bbx0%2BViW%2FN75Q0avW1Mrqlangcnrsv_enter1rsv_dltbrsv_sug36rsv_sug14rsv_sug7100rsv_sug20rsv_btypetinputT964rsv_sug4965 实则有用信息仅为https://www.baidu.com/s?wdbeyond你也可以单独输入该网址仍可接收到服务器反馈的相同页面结果信息。(同理其他的搜索引擎也都类似)其中beyond为可变参数遇到可变参数需要把其放入到字典中去 ②整理完url之后我们需要获取某个浏览器载体身份认证信息这里以Chrome为例随便打开一个网站(例如https://www.baidu.com/s?wdbeyond)F12打开开发者工具F5重新向服务器发出请求Network下Name随便找一个点进入就可以找到User-Agent信息例如我的是这个User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36该信息就是Chrome浏览器的唯一身份认证标识 ③在get方法中传入User-Agent和用户输入的关键字信息即可(均为字典形式)
完整代码
import requestsif __name__ __main__:#UA伪装获取某个浏览器的User-Agent唯一载体身份标识headers {User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36}#指定urlurl https://www.baidu.com/s?#https://www.baidu.com/s?word%E9%BB%84%E5%AE%B6%E9%A9%B9#处理url携带的参数将参数封装到字典中keyword input(please input a word:)param {wd:keyword}#对指定的url发起请求对应的url是携带参数的并且请求过程中已经处理了参数response requests.get(urlurl,paramsparam,headersheaders)#若不传入headers这个User-Agent信息运行程序之后服务器并不会给这个响应返回数据信息。这说明百度搜索引擎中采用了UA检测反爬虫机制#获取响应page response.textfilename keyword.html#持久化存储with open(E:/Jupyter_workspace/study/python/filename,w,encodingutf-8) as fp:#将服务器返回的页面信息存储到本地指定路径fp.write(page)print(filename,保存成功)运行效果如下