文章目录
博文配套视频课程:24小时实现从零到AI人工智能
登录验证的API推荐
- 滑动验证码破解平台:http://api.4xx3.cn/
- 云打码:http://www.yundama.com/price.html
- 超级鹰:http://www.chaojiying.com/cases.html
如何发送登录表单
由于是表单,必须发送一个Post请求,因此创建FromRequest请求,并且设置登录成功后要执行的方法
class JsSpider(scrapy.Spider):
name = 'js'
allowed_domains = ['renren.com']
# 起始地址为登录页面, 登录成功后在进行爬取操作
start_urls = ['http://www.renren.com/SysHome.do']
def parse(self, response):
# 1: 返回的是登录页面的数据
# 2: 创建表单,并且填写正确的账户的密码
loginForm = {
'email': '970138074@qq.com',
'password': 'pythonspider',
}
return scrapy.FormRequest(url="http://www.renren.com/PLogin.do",formdata=loginForm,callback=self.after_login)
def after_login(self,reponse):
with open('books.html', 'w+',encoding="UTF-8") as f:
f.write(reponse.text)
如果登录成功则会执行after_login方法,此方法会把登录成功之后的页面下载到本地,下载时设置的编码取决于目标网页的编码