python3 网络爬虫(四)如何查找以及使用cookies
来源:互联网 发布:淘宝全新店铺购买 编辑:程序博客网 时间:2024/05/17 23:04
环境:python3.4
win7
框架:scrapy
在日常的爬虫工作中,有时候我们在爬取网站内容之前需要进行登录,在登登录之后才能看到我们想要找到的网站内容,这时,利用cookies来模拟登录是一种非常好的方法,那么让我们首先来了解如何获取cookies
首先,我们利用的依旧是谷歌浏览器,打开谷歌浏览器,然后打开 开发者工具(按住F12即可),然后根据下图所示找到cookies:
找到了cookies,那么我们就可以在middleware.py里构造出一个关于带cookies请求的函数:
下面是一个包括如何添加user_agent和cookies的中间件写法:
class UserAgentCookiesMiddle(object): user_agent_list = [ (此处请自行填写) ] cookies ={ 'SINAGLOBAL':'(此处请自行填写)', 'un':'(此处请自行填写)', 'wvr':'(此处请自行填写)', 'YF-V5-G0':'(此处请自行填写)', 'SSOLoginState':'(此处请自行填写)', 'SCF':'(此处请自行填写)', 'SUB':'(此处请自行填写)', 'SUBP':(此处请自行填写)', 'SUHB':'(此处请自行填写)', 'ALF':'(此处请自行填写)', '_s_tentry':'(此处请自行填写)', 'Apache':'(此处请自行填写)', 'ULV':'(此处请自行填写)', 'YF-Page-G0':'(此处请自行填写)', 'YF-Ugrow-G0':'(此处请自行填写)', 'UOR':'(此处请自行填写)' } def process_request(self,request,spider): UA = random.choice(self.user_agent_list) request.headers['User-Agent'] = UA request.headers['Accept']='*/*' request.headers['Accept-Encoding']='gzip, deflate, sdch' request.headers['Accept-Language']='zh-CN,zh;q=0.8' request.headers['Content-Type']='application/x-www-form-urlencoded' request.headers['Host']='data.weibo.com' request.headers['X-Requested-Wit']='XMLHttpRequest' request.headers['Connection']='keep-alive' request.cookies = self.cookies
最后别忘了在setting.py中加上这个中间件:
DOWNLOADER_MIDDLEWARES = { 'blogindex.middlewares.UserAgentCookiesMiddle': 543,}
那么一个带cookies的请求就构造成功了,这是本人平时使用cookies的做法,如果大家有更好的办法,也请告诉我,谢谢大家
阅读全文
0 0
- python3 网络爬虫(四)如何查找以及使用cookies
- Python3网络爬虫(四): 登录
- Python3:网络爬虫(1)
- python3网络爬虫(堆糖网)
- python3爬虫(8):异常处理以及代理的使用
- python3实现网络爬虫(2)--BeautifulSoup使用(1)
- python3实现网络爬虫(3)--BeautifulSoup使用(2)
- python3 网络爬虫(五)scrapy中使用User-Agent
- 简单Python3爬虫程序(3)进阶:登录、解压缩、cookies
- Python3网络爬虫(四):使用User Agent和代理IP隐藏身份
- Python3网络爬虫(四):使用User Agent和代理IP隐藏身份
- python3使用urllib模块制作网络爬虫
- Python3网络爬虫:使用Cookie-模拟登陆
- scrapy爬虫实战(四)--------------登陆51job并使用cookies进行爬取
- Python3网络爬虫(3):Python3使用Cookie-模拟登陆
- python3爬虫,最短时间实现(四)
- Python3 爬虫(四) -- 登录知乎
- Python3 爬虫(四) -- 登录知乎
- Intellij IDEA基于Springboot的远程调试
- Guava Table接口
- nginx问题知识汇总
- 怎么申请苹果iOS开发者账号?ios开发者账号申请流程介绍
- Spring_02_Bean基本配置
- python3 网络爬虫(四)如何查找以及使用cookies
- 详解java动态代理模式
- js日期计算
- 浏览器兼容问题
- 实时监控文本框中的数据变化(完美解决方案)
- DB2和Oracle的translate的不同之处
- ubuntu: apt-get update的时候遇到“Hash Sum mismatch”错误
- quartz----时间配置
- angularjs-$destroy