【发布时间】:2015-01-20 06:22:38
【问题描述】:
我尝试使用 scrapy 完成登录并收集我的项目提交计数。这是代码。
from scrapy.item import Item, Field
from scrapy.http import FormRequest
from scrapy.spider import Spider
from scrapy.utils.response import open_in_browser
class GitSpider(Spider):
name = "github"
allowed_domains = ["github.com"]
start_urls = ["https://www.github.com/login"]
def parse(self, response):
formdata = {'login': 'username',
'password': 'password' }
yield FormRequest.from_response(response,
formdata=formdata,
clickdata={'name': 'commit'},
callback=self.parse1)
def parse1(self, response):
open_in_browser(response)
运行代码后
scrapy runspider github.py
它应该向我显示表单的结果页面,这应该是在同一页面中登录失败,因为用户名和密码是假的。但是它向我展示了search page。日志文件位于pastebin
应该如何修复代码?提前致谢。
【问题讨论】:
-
您介意分享日志结果吗?尝试您的代码时,我注意到 Crawled (301)
github.com/login> -
这种直接方法无法解决。使用 webdriver 怎么样?
标签: python forms web-scraping scrapy