import scrapy
class GitHub(scrapy.spider):
name="github"
allow_domains=['github.com']
start_urls=['https://github.com/login']
def parse(self,response):
#如果还有其他需要提交的信息,可以使用xpath提取出他所在的标签的value值,然后写在post_data里面
post_data=dict(
login='ssss',
password='1111'
)
#使用FormRequest提交数据
yield scrapy.FormRequest(
"https://github.com/session",
formdata=post_data,
callback=self.after_login#无论是否成功都执行这个函数
)
def after_login(self,response):
print(.....)
还有一种简单的方法是FormRequest.from_response()方法
yield scrapy.FormRequest.from_response(
response,#自动的从response中寻找表单
formdata={"Login":"ssss","password":"qqq"},
callback=解析函数
)
request.headers["User-Agent"]=...写在process_request里可以设置User-Agent
request.meta["proxy"]="http://111.111.111.11:808"设置代理