Python3爬虫学习之应对网站反爬虫机制的方法分析
程序员文章站
2022-10-18 12:42:06
本文实例讲述了python3爬虫学习之应对网站反爬虫机制的方法。分享给大家供大家参考,具体如下:
如何应对网站的反爬虫机制
在访问某些网站的时候,网站通常会用判断访问是...
本文实例讲述了python3爬虫学习之应对网站反爬虫机制的方法。分享给大家供大家参考,具体如下:
如何应对网站的反爬虫机制
在访问某些网站的时候,网站通常会用判断访问是否带有头文件来鉴别该访问是否为爬虫,用来作为反爬取的一种策略。
例如打开搜狐首页,先来看一下chrome的头信息(f12打开开发者模式)如下:
如图,访问头信息中显示了浏览器以及系统的信息(headers所含信息众多,具体可自行查询)
python中urllib中的request模块提供了模拟浏览器访问的功能,代码如下:
from urllib import request url = 'http://www.baidu.com' # page = request.request(url) # page.add_header('user-agent', 'mozilla/5.0 (windows nt 10.0; win64; x64) applewebkit/537.36 (khtml, like gecko) chrome/55.0.2883.87 safari/537.36') headers = {'user-agent':'mozilla/5.0 (windows nt 10.0; win64; x64) applewebkit/537.36 (khtml, like gecko) chrome/55.0.2883.87 safari/537.36'} page = request.request(url, headers=headers) page_info = request.urlopen(page).read().decode('utf-8') print(page_info)
可以通过add_header(key, value)
或者直接以参数的形式和url一起请求访问,
urllib.request.request() urllib.request.request(url, data=none, headers={}, origin_req_host=none, unverifiable=false, method=none)
其中headers是一个字典,通过这种方式可以将爬虫模拟成浏览器对网站进行访问。
更多关于python相关内容可查看本站专题:《python socket编程技巧总结》、《python正则表达式用法总结》、《python数据结构与算法教程》、《python函数使用技巧总结》、《python字符串操作技巧汇总》、《python入门与进阶经典教程》及《python文件与目录操作技巧汇总》
希望本文所述对大家python程序设计有所帮助。
上一篇: 完美解决问题