scrapy模拟登录
对于scrapy来说,也是有两个方法模拟登陆:
- 直接携带cookie
- 找到发送post请求的url地址,带上信息,发送请求
scrapy模拟登陆之携带cookie
应用场景:
- cookie过期时间很长,常见于一些不规范的网站
- 能在cookie过期之前把搜有的数据数据拿到
- 配合其他程序使用,比如其使用selenium把登陆之后的cookie获取到保存到本地,scrapy发送请求之前先读取本地cookie
class RenrensipderSpider(scrapy.Spider):
name = 'renrenspider'
allowed_domains = ['renren.com']
cookies = dict( # 自己定义cookies,字典形式
anonymid = 'j3jxk555-nrn0wh',
...
wp_fold = 0
)
def start_requests(self): # 重写start_request函数,指定start_urls的处理方式
start_urls = 'http://www.renre.com/'
yield scrapy.Request(start_urls,callback=self.parse, cookies=self.cookies) # 指定callback函数,同时携带cookie
def parse(self, response):
...
那么问题来了:如何知道我的cookie确定是在不同的解析函数中传递呢?
# Disable cookie(enaled by default)
# COOKIES_ENABLED = False # cookie在setting中默认是开启的
COOKIES_DEBUG = True # 在settings中添加该参数即可
# cookie能够在不同的解析函数中传递,前提也是COOKIES_ENABLED为True
终端效果入下:
[scrapy.downloadermiddlewares.cookies] DEBUG: Sending cookies to:
<GET http://zhibo.renren.com/top>
Cookie: anonymid=j3...
scrapy模拟登录的更多相关文章
- scrapy模拟登录微博
http://blog.csdn.net/pipisorry/article/details/47008981 这篇文章是介绍使用scrapy模拟登录微博,并爬取微博相关内容.关于登录流程为嘛如此设置 ...
- 利用scrapy模拟登录知乎
闲来无事,写一个模拟登录知乎的小demo. 分析网页发现:登录需要的手机号,密码,_xsrf参数,验证码 实现思路: 1.获取验证码 2.获取_xsrf 参数 3.携带参数,请求登录 验证码url : ...
- Scrapy模拟登录信息
携带cookie模拟登录 需要在爬虫里面自定义一个start_requests()的函数 里面的内容: def start_requests(self): cookies = '真实有效的cookie ...
- Scrapy模拟登录赶集网
1.打开赶集网登录界面,先模拟登录并抓包,获得post请求的request参数 2. 我们只需构造出上面的参数传入formdata即可 参数分析: setcookie:为自动登录所传的值,不勾选时默认 ...
- python爬虫之scrapy模拟登录
背景: 初来乍到的pythoner,刚开始的时候觉得所有的网站无非就是分析HTML.json数据,但是忽略了很多的一个问题,有很多的网站为了反爬虫,除了需要高可用代理IP地址池外,还需要登录.例如知乎 ...
- scrapy 基础组件专题(十二):scrapy 模拟登录
1. scrapy有三种方法模拟登陆 1.1直接携带cookies 1.2找url地址,发送post请求存储cookie 1.3找到对应的form表单,自动解析input标签,自动解析post请求的u ...
- Scrapy模拟登录知乎
建立项目 scrapy startproject zhihu_login scrapy genspider zhihu www.zhihu.com 编写spider 知乎的登录页url是http:// ...
- Scrapy模拟登录GitHub
d: 进入D盘 scrapy startproject GitHub 创建项目 scrapy genspider github github.com 创建爬虫 编辑github.py: # -*- c ...
- scrapy 模拟登录后再抓取
深度好文: from scrapy.contrib.spiders.init import InitSpider from scrapy.http import Request, FormReques ...
随机推荐
- [数分提高]2014-2015-2第6教学周第1次课讲义 3.3 Taylor 公式
1. (Taylor 公式). 设 $f^{(n)}$ 在 $[a,b]$ 上连续, $f^{(n+1)}$ 在 $(a,b)$ 内存在, 试证: $ \forall\ x,x_0\in [a,b], ...
- [物理学与PDEs]第1章第9节 Darwin 模型 9.3 Darwin 模型
1. $\Omega$ 中 ${\bf A}={\bf A}_T+{\bf A}_L$, 其中 $\Div{\bf A}_T=0$, $\rot{\bf A}_L={\bf 0}$. 若 $$\bex ...
- 02 Redis关闭服务报错---(error) ERR Errors trying to SHUTDOWN. Check logs.
127.0.0.1:6379> shutdown (error) ERR Errors trying to SHUTDOWN. Check logs. 1.在redis.conf中修改日志文件的 ...
- LINQ to SQL 调用 SQL Server 的系统函数
Ø 简介 在 C# 中比较常用的 ORM(Object Relational Mapping)框架就是 EF 了,EF 经常结合 LINQ to SQL 来操作数据库.本文主要讨论如何在 LINQ ...
- HttpUtility.UrlEncode编码重写
1. 某些系统方法,例如.NET系统方法HttpUtility.UrlEncode会将‘=’编码成‘%3d’,而不是%3D,导致加密签名通不过验证,请开发者注意检查. 2.Java 1.3和早期版本中 ...
- CodeBlocks(17.12) 代码调试基础方法&快捷方式
转载:CodeBlocks(17.12) 代码调试基础方法&快捷方式: https://www.cnblogs.com/DCD112358/p/8998053.html
- 清北学堂学习总结day1
上午篇 一.高精度计算: [以下内容先只考虑非负数情况] •高精度加法: 思路:[模拟竖式运算] 注意:[进位] •高精度减法: 思路:[同加法类似,模拟竖式运算,进位变退位] 注意: [结果为负数的 ...
- canvas图片合成中的坑
需求 要用代码来实现多张外部图片和文字的合并而且要上传到七牛云,再将图片链接通过客户端分享出去.图片背景需要支持用户自定义更换. 实现方案 在一个canvas上多次调用drawImage函数,分别绘制 ...
- WSL用xshell连接
编辑配置文件 sudo vim /etc/ssh/sshd_config Port 8022(因为 Windows 10 的 SSH 端口已经默认被占用,所以我换成了一个新的端口) (去掉前面的 #) ...
- 解决nginx和php使用ckfinder无法上传大文件的问题
现象描述:cms内容发布系统上传不了大文件,当上传超过32M文件时就上传不了 提示:无效的文件. 文件尺寸太大. 分析文件上传过程:browser --> nginx --> php 需要 ...