github 的登录页面没有验证码,而且比较简单,所以先拿 github 练练手。
按照惯例,先规划一下步骤:
1.进入登录页,F12 查看请求,查看必要参数。
2.构造登录函数。
3.爬虫成功登陆后采集信息。
进入登录页真实登录
登录页网址: https://github.com/login
页面如下:
现在先输入正确的账号密码进行登录。
打开 F12 开发工具,打开 Network 标签,先输入正确的账号密码,点击 Sign in
,然后观察请求。可以看到,第一条请求是 https://github.com/session , 请求方式是 post 方式,而且 Form Data 里面存在账号密码信息,ok,就是这个请求,如下图。
能看到请求方式为 post 然后看下 Form Data ,其中有这么几个参数,commit
,utf8
,authenticity_token
,login
,password
,经过观察,commit
,utf8
,login
,password
这几个都是固定值,而 authenticity_token
每次登录都会发生改变,先找到这个参数是怎么出来的,才方便构造登录函数,经查找后发现在登录页,也就是 https://github.com/login
这个页面,再查看源代码可以查找到这个 token
值,如下图所示。
构造登录函数
1 | import requests |
采集信息
上面得到 token
值,也成功登录了 github 。现在我们就可以开始采集信息了。在这里我选择进入个人详情页来获取用户名和地址信息。
1 | def parse(self, html): |
获取到用户名和地址信息。
完整代码
1 | import requests |