Python中文
首页
教程
问答
标签
搜索
登录
注册
如何用scrapy提交表格?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我尝试使用scrapy完成登录并收集我的项目提交计数。这是代码</p> <pre><code>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) </code></pre> <p>在运行代码之后</p> <pre><code>scrapy runspider github.py </code></pre> <p>它应该向我显示表单的结果页,这应该是一个失败的登录在同一页的用户名和密码是假的。然而,它向我展示了<a href="https://github.com/search" rel="noreferrer">search page</a>。日志文件位于<a href="http://pastebin.com/0gRaNm7D" rel="noreferrer">pastebin</a></p> <p>代码应该如何修复?提前谢谢</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>使用“formname”参数也可以:</p> <pre><code>yield FormRequest.from_response(response, formname='Login', formdata=formdata, clickdata={'name': 'commit'}, callback=self.parse1) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
我是否正确构建了这个递归神经网络
2 回答
我是否正确理解acquire和realease是如何在python库“线程化”中工作的
6 回答
我是否正确理解Keras中的批次大小?
1 回答
我是否正确理解PyTorch的加法和乘法?
6 回答
我是否正确组织了我的Django应用程序?
8 回答
我是否正确计算执行时间?如果是这样,那么并行处理将花费更长的时间。这看起来很奇怪
5 回答
我是否每次创建新项目时都必须在PyCharm中安装numpy?(安装而不是导入)
9 回答
我是否每次运行jupyter笔记本时都必须重新启动内核?
5 回答
我是否用python安装了socks模块?
5 回答
我是否真的需要知道超过一种语言,如果我想要制作网页应用程序?
8 回答
我是否缺少spaCy柠檬化中的预处理功能?
2 回答
我是否缺少给定状态下操作的检查?
7 回答
我是否能够使用函数“count()”来查找密码中大写字母的数量((Python)
6 回答
我是否能够使用用户输入作为colorama模块中的颜色?
5 回答
我是否能够创建一个能够添加新Django.contrib.auth公司没有登录到管理面板的用户?
4 回答
我是否能够将来自多个不同网站的数据合并到一个csv文件中?
7 回答
我是否能够将目录路径转换为可以输入python hdf5数据表的内容?
3 回答
我是否能够等到一个对象被销毁,直到它创建另一个对象,然后在循环中运行time.sleep()
6 回答
我是否能够通过CBV创建用户实例,而不是首先创建表单?(Django)
3 回答
我是否要使它成为递归函数?
3 回答