Scrapy模拟登录赶集网的实现代码

Scrapy模拟登录赶集网的实现代码

本文主要介绍Scrapy模拟登录市场的实现代码。本文通过代码、图形和文本的结合,非常详细地为您介绍,对您的学习或工作有一定的参考价值。有需要的朋友可以参考一下。

1.打开市场的登录界面,先模拟登录抢包,获取post请求的请求参数。

2.我们只需要构造上述参数,并将它们传递到formdata中。

参数分析:

Setcookie:为自动登录传递的值;未选中时,默认为0。

__hash__ value分析:只看响应网页的源代码,然后用正则表达式提取。

3.代码实现

1 .工作到自己的虚拟环境cmd切换到项目目录,输入scrapy start project ganjiwangenglu,然后就可以用pycharm打开目录了。

2.在pycharm终端输入scrapy ganji ganjicom的创建地址,下面是项目目录。

3.代码详细信息

进口废品

进口re

GanjiSpider类(scrapy。蜘蛛):

name=ganji

allowed_domains=[ganji.com]

start _ URLs=[ https://passport . ganji . com/log in . PHP ]

定义解析(自身,响应):

hash _ code=re . search(r _ _ hash _ _ :(。) } ,response.text)。group (1) #定期获取散列

img _ URL= https://passport . ganji . com/Ajax . PHP?Dir=验证码模块=login _ captcha #验证码url

Yieldscrapy.request (img _ URL,callback=self.do _ formdata,meta={hash _ code: hash _ code}) #发送请求获取验证码并保存在本地。

def do_formdata(self,response):

以open(yzm.jpg , wb )为f:

f.write(响应.正文)

#验证码有三种方案:1、保存后手动输入,2、云码,3、魔方模块。这里我们手动输入。

Code=input(请输入验证码:)

#创建表单

表单数据={

用户名:您的用户名,

密码:您的密码,

setcookie: 14 ,

checkCode :代码,

下一个“:”,

来源:护照,

_ _ hash _ _ :response.request meta[ hash _ code ]# meta在response . request中。

}

log in _ URL= https://passport . ganji . com/log in . PHP

yield scratch . form request(URL=log in _ URL,formdata=formdata,callback=self.after _ login) #发送登录请求。

def after_login(self,response):

打印(响应.文本)

4.终端输入scrapy carwl ganji就大功告成了。

返回的json字符串解析如下:

注意:这里不描述设置中的设置。

总结

关于Scrapy的模拟登录市场的这篇文章到此为止。关于Scrapy登录市场的更多信息,请搜索我们之前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!

Scrapy模拟登录赶集网的实现代码