时间:2021-05-22
1.打开赶集网登录界面,先模拟登录并抓包,获得post请求的request参数
2. 我们只需构造出上面的参数传入formdata即可
参数分析:
setcookie:为自动登录所传的值,不勾选时默认为0。
__hash__值的分析:只需要查看response网页源代码即可 ,然后用正则表达式提取。
3.代码实现
1.workon到自己的虚拟环境 cmd切换到项目目录,输入scrapy startproject ganjiwangdenglu,然后就可以用pycharm打开该目录啦。
2.在pycharm terminal中输入scrapy ganji ganjicom 创建地址,如下为项目目录
3. 代码详情
import scrapyimport reclass GanjiSpider(scrapy.Spider): name = 'ganji' allowed_domains = ['ganji.com'] start_urls = ['https://passport.ganji.com/login.php'] def parse(self, response): hash_code = re.search(r'"__hash__":"(.+)"}', response.text).group(1) # 正则获取哈希 img_url = 'https://passport.ganji.com/ajax.php?dir=captcha&module=login_captcha' # 验证码url yield scrapy.Request(img_url, callback=self.do_formdata, meta={'hash_code': hash_code}) # 发送获取验证码请求并保存验证码到本地 def do_formdata(self, response): with open('yzm.jpg', 'wb') as f: f.write(response.body) # 验证码三种方案:1,保存下来手动输入,2,云打码,3 tesseract模块,在这里我们手动输入 code = input('请输入验证码:') # 创建表单 formdata = { 'username': 'your_username', 'password': 'your_password', 'setcookie': '14', 'checkCode': code, 'next': '', 'source': 'passport', '__hash__': response.request.meta['hash_code'] # meta是在respose.request中 } login_url = "https://passport.ganji.com/login.php" yield scrapy.FormRequest(url=login_url, formdata=formdata, callback=self.after_login) # 发送登录请求 def after_login(self, response): print(response.text)4.终端输入scrapy carwl ganji 即可大功告成 。
返回来的json字符串解析如下:
注:setting中的设置不在赘述。
总结
到此这篇关于Scrapy模拟登录赶集网的文章就介绍到这了,更多相关Scrapy登录赶集网内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
如何获取一个网站的相关信息,获取赶集网的招聘信息,本文为大家介绍利用python获取赶集网招聘信息的关键代码,供大家参考,具体内容如下importreimpor
2015年4月17日,58同城突然宣布战略入股赶集网,原赶集网CEO杨浩涌角色也随之变成58赶集联席CEO。同年11月,对赶集网付出10年心血的杨浩涌宣布辞去5
近,赶集网的广告在电视和网络上疯传,它的广告创意确实吸引了人们的眼球,只是广告中的驴子太抢眼,结果只让很多人记住了驴子,而忘记了赶集网。甚至有人把赶集网说成了&
赶集生活如何发布需求信息。赶集生活是赶集网的一款手机软件。可以随时随地免费发布和浏览赶集网海量本地生活信息。无论是找房,找工作,淘二手,还是本地服务,转让闲置,
赶集网会员认证:http://sz.ganji.com/fuwu_dian/373932/#comment