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


Posted in Python onJuly 07, 2020

1.打开赶集网登录界面,先模拟登录并抓包,获得post请求的request参数

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

2. 我们只需构造出上面的参数传入formdata即可

参数分析:

setcookie:为自动登录所传的值,不勾选时默认为0。

__hash__值的分析:只需要查看response网页源代码即可 ,然后用正则表达式提取。

3.代码实现

1.workon到自己的虚拟环境 cmd切换到项目目录,输入scrapy startproject ganjiwangdenglu,然后就可以用pycharm打开该目录啦。

2.在pycharm terminal中输入scrapy ganji ganjicom 创建地址,如下为项目目录

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

3. 代码详情

import scrapy
import re

class 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字符串解析如下:

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

注:setting中的设置不在赘述。

总结

到此这篇关于Scrapy模拟登录赶集网的文章就介绍到这了,更多相关Scrapy登录赶集网内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python人人网登录应用实例
Sep 26 Python
简单介绍Python2.x版本中的cmp()方法的使用
May 20 Python
Python实现股市信息下载的方法
Jun 15 Python
深入理解Python对Json的解析
Feb 14 Python
Caffe均值文件mean.binaryproto转mean.npy的方法
Jul 09 Python
Python3 单行多行万能正则匹配方法
Jan 07 Python
关于Pycharm无法debug问题的总结
Jan 19 Python
如何通过python画loss曲线的方法
Jun 26 Python
pip install python 快速安装模块的教程图解
Oct 08 Python
Django Haystack 全文检索与关键词高亮的实现
Feb 17 Python
Django 如何使用日期时间选择器规范用户的时间输入示例代码详解
May 22 Python
在python3.64中安装pyinstaller库的方法步骤
Jun 02 Python
scrapy框架携带cookie访问淘宝购物车功能的实现代码
Jul 07 #Python
Keras构建神经网络踩坑(解决model.predict预测值全为0.0的问题)
Jul 07 #Python
浅谈django框架集成swagger以及自定义参数问题
Jul 07 #Python
Django REST Swagger实现指定api参数
Jul 07 #Python
python中查看.db文件中表格的名字及表格中的字段操作
Jul 07 #Python
python db类用法说明
Jul 07 #Python
python文件编写好后如何实践
Jul 07 #Python
You might like
php分页思路以及在ZF中的使用
2012/05/30 PHP
php中flush()、ob_flush()、ob_end_flush()的区别介绍
2013/02/17 PHP
浅析php插件 HTMLPurifier HTML解析器
2013/07/01 PHP
PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)
2014/10/20 PHP
php从数据库查询结果生成树形列表的方法
2015/04/17 PHP
HTML中嵌入PHP的简单方法
2016/02/16 PHP
PHP函数shuffle()取数组若干个随机元素的方法分析
2016/04/02 PHP
php的单例模式及应用场景详解
2021/02/27 PHP
FLASH 广告之外的链接
2008/12/16 Javascript
jQuery UI AutoComplete 使用说明
2011/06/20 Javascript
JavaScript实现的日期控件具体代码
2013/11/18 Javascript
jQuery实现加入购物车飞入动画效果
2015/03/14 Javascript
nodejs实现HTTPS发起POST请求
2015/04/23 NodeJs
JS组件系列之Bootstrap table表格组件神器【终结篇】
2016/05/10 Javascript
jquery html动态添加的元素绑定事件详解
2016/05/24 Javascript
BootStrap智能表单实战系列(三)分块表单配置详解
2016/06/13 Javascript
基于Bootstrap的网页设计实例
2017/03/01 Javascript
[js高手之路]从原型链开始图解继承到组合继承的产生详解
2017/08/28 Javascript
JavaScript生成一个不重复的ID的方法示例
2019/09/16 Javascript
[46:03]LGD vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python MySQLdb使用教程详解
2018/03/20 Python
解决Python 爬虫URL中存在中文或特殊符号无法请求的问题
2018/05/11 Python
python+opencv打开摄像头,保存视频、拍照功能的实现方法
2019/01/08 Python
用Python实现最速下降法求极值的方法
2019/07/10 Python
详解将Python程序(.py)转换为Windows可执行文件(.exe)
2019/07/19 Python
pandas如何处理缺失值
2019/07/31 Python
详解使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件
2019/08/23 Python
浅谈Python3多线程之间的执行顺序问题
2020/05/02 Python
Pytorch - TORCH.NN.INIT 参数初始化的操作
2021/02/27 Python
纯CSS3实现带动画效果导航菜单无需js
2013/09/27 HTML / CSS
HTML5+CSS3实现拖放(Drag and Drop)示例
2014/07/07 HTML / CSS
FirstCry阿联酋儿童和婴儿产品网上购物:FirstCry.ae
2021/02/22 全球购物
社区巾帼文明岗事迹材料
2014/06/03 职场文书
人事任命书范文
2014/06/04 职场文书
2014迎国庆标语大全
2014/09/19 职场文书
2014民事授权委托书范本
2014/09/29 职场文书