python爬虫设置请求消息头(headers)
来源:互联网 发布:安卓手机仿windows桌面 编辑:程序博客网 时间:2024/05/01 09:33
创建时间:2017.03.14
简述
在使用python
爬虫爬取数据的时候,经常会遇到一些网站的反爬虫措施,一般就是针对于headers
中的User-Agent
,如果没有对headers
进行设置,User-Agent
会声明自己是python
脚本,而如果网站有反爬虫的想法的话,必然会拒绝这样的连接。而修改headers
可以将自己的爬虫脚本伪装成浏览器的正常访问,来避免这一问题。
设置方法
使用urllib请求页面时
import urllib, urllib2def get_page_source(url): headers = {'Accept': '*/*', 'Accept-Language': 'en-US,en;q=0.8', 'Cache-Control': 'max-age=0', 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36', 'Connection': 'keep-alive', 'Referer': 'http://www.baidu.com/' } req = urllib2.Request(url, None, headers) response = urllib2.urlopen(req) page_source = response.read() return page_source
使用phantomjs请求页面
from selenium import webdriverfrom selenium.webdriver.common.desired_capabilities import DesiredCapabilitiesdef get_headers_driver(): desire = DesiredCapabilities.PHANTOMJS.copy() headers = {'Accept': '*/*', 'Accept-Language': 'en-US,en;q=0.8', 'Cache-Control': 'max-age=0', 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36', 'Connection': 'keep-alive', 'Referer': 'http://www.baidu.com/' } for key, value in headers.iteritems(): desire['phantomjs.page.customHeaders.{}'.format(key)] = value driver = webdriver.PhantomJS(desired_capabilities=desire, service_args=['--load-images=yes'])#将yes改成no可以让浏览器不加载图片 return driver
本部分(phantomjs)代码参考
2017.7.4
最近在学python爬虫框架scrapy,有兴趣的朋友可以去移步我的博文:
使用scrapy爬取妹子图(一)
2 0
- python爬虫设置请求消息头(headers)
- 妹子图爬虫,最重要的是请求头headers设置'Referer':'http://www.mzitu.com/'
- http请求(Python爬虫headers)
- Python爬虫实践(三)设置Headers
- android 中设置http请求头headers的Cookie
- HTTP消息头(HTTP headers)-常用的HTTP请求头与响应头
- HTTP消息头(HTTP headers)-常用的HTTP请求头与响应头
- Python 爬虫基础Headers
- fake-useragent,python爬虫伪装请求头
- jquery怎么设置请求消息头
- SpringBoot整合Rabbitmq设置消息请求头
- python爬虫之Headers属性
- 爬虫浏览器头headers.py文件
- 在AngularJs中怎么设置请求头信息(headers)及不同方法的比较
- http协议学习-请求头Request Headers
- Python爬虫.修改请求头Header(学习笔记)
- python 网络爬虫——请求头,ip代理
- python-网络爬虫初学二:headers的设置和一些高级特性
- PyCharm 使用 tricks
- python AES对称加密示例
- 学习算法(3)——查找2个数组中的相同元素
- Codeforces Round #402 (Div. 2) A题
- Spark聚类模型K-Means----来源Spark机器学习
- python爬虫设置请求消息头(headers)
- CppPrimer--数组名与指针& 函数名与函数指针
- 95. Unique Binary Search Trees II
- Android-TextView及其子类(TextView、EditText、Button)
- 随记
- Android事件传递机制
- 解决Python的print中文在windows命令行乱码问题
- js--函数知识点
- 开发web api