1. 秦子帅的博客首页
  2. Python

Python爬虫入门-表单提交与模拟登录

点击标题下「蓝色微信名」可快速关注

前言

今天主要讲两个方面:

  • 利用Request库进行POST请求表单交互

  • cookie实现模拟登录网站

Requests实现POST请求

今requests可以以多种形式进行post请求,比如form表单形式、json形式等。今天主要以表单形式举例:

Reqeusts支持以form表单形式发送post请求,只需要将请求的参数构造成一个字典,然后传给requests.post()的data参数即可。

示例网站:豆瓣网:https://www.douban.com

Python爬虫入门-表单提交与模拟登录

有两种方式可以查询提交表单的字段:

  • 通过查询源代码的form标签,input标签

  • 通过浏览器的Network项查询


第一种:

首先我们找到登录的元素,在输入账号处选中–>右键–>检查

Python爬虫入门-表单提交与模拟登录

然后直接查询网页源代码去找到上面的部分,根据标签来观察提交的表单参数,这里强调一下:

form标签和form标签下的input标签非常重要,form标签中的action属性代表请求的URL,input标签下的name属性代表提交参数的KEY。

代码参考如下:


运行后发现已登录账号

Python爬虫入门-表单提交与模拟登录


第二种:

通过浏览器Network项查询表单参数:

点击右键–>检查–>选择Network

Python爬虫入门-表单提交与模拟登录

然后手动输入账号和密码登录,此时显示加载了文件,选择加载的第一个文件:

Python爬虫入门-表单提交与模拟登录

选中后,查看Headers字段下的数据,会发现请求的URL

Python爬虫入门-表单提交与模拟登录

往下拉,会发现字段参数:

Python爬虫入门-表单提交与模拟登录

然后再按照上面的代码写一下就可以了。

Cookie模拟登录

Cookie,有时也用其复数形式 Cookies,指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)。

我们可以通过手动登录后,查看浏览器的Network选项找到cookie值,记住cookie值不要透露出去。

操作步骤:

右键–>检查–>选择Network–>手动登录–>在加载文件中找到本网址的Name

Python爬虫入门-表单提交与模拟登录

得到cookie和URL之后,把cookie添加到headers中,运行,代码如下:


Python爬虫入门-表单提交与模拟登录

希望对新人有所帮助!

本文参考了网上信息和《从零开始学习Python网络爬虫》

推荐阅读:

Python爬虫实战(4)-带你用Python爬取妹子图片

Python爬虫实战(3)-爬取豆瓣音乐Top250数据(超详细)

Python爬虫实战(2)-爬取小说”斗罗大陆3龙王传说”(超详细)

Python爬虫实战(1)-爬取“房天下”租房信息(超详细)


Python爬虫入门-表单提交与模拟登录

原文始发于微信公众号( 扎心了Python ):Python爬虫入门-表单提交与模拟登录

发布者:秦子帅,转转请注明出处:http://qinzishuai.cn/index.php/2018/05/15/e72053c216/

联系我们

912241847

在线咨询:点击这里给我发消息

邮件:qzs531156@163.com

QR code