Python中文
首页
教程
问答
标签
搜索
登录
注册
斯皮蒂:哪只蜘蛛不知道呢
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我想废弃这个网站:<a href="http://www.meetic.fr/" rel="nofollow noreferrer">Meetic.fr</a>,法语版本meetic.com网站. 在</p> <p>我们的目标是知道经过<strong>认证后,有多少人被连接(显示在页面顶部)。在</p> <p>这是蜘蛛:(<em>[kobeddl,stack123456]</em>是真正的登录,如果你想尝试一些东西)</p> <pre><code>from scrapy.spider import BaseSpider from scrapy.selector import HtmlXPathSelector from scrapy.http import FormRequest, Request from meetic.items import MeeticItem class MeeticSpider(BaseSpider): name = "meetic" allowed_domains = ["meetic.fr"] start_urls = ["http://www.meetic.fr/"] def parse(self, response): print 'TEST1' return [FormRequest.from_response(response, formdata={'log': 'kobeddl', 'pwd': 'stack123456'}, callback=self.after_login)] def after_login(self, response): # check login succeed before going on if "authentication failed" in response.body: self.log("Login failed", level=log.ERROR) print 'TEST2' return # We've successfully authenticated, let's have some fun! else: print 'TEST3' return Request(url="http://www.meetic.fr/scheduler.php?url=", callback=self.parse_tastypage) def parse_tastypage(self, response): hxs = HtmlXPathSelector(response) item = MeeticItem() item['nb'] = hxs.select('/html/body/div/div/div/div/div/div/ul/li[2]/a/div/span').extract() print 'TEST4' return item </code></pre> <p>以下是命令提示符下的结果:<img src="https://i.imgur.com/E3JnR.jpg" alt="result"/> <strong>编辑:</strong>如您所见,只有第一个print语句<code>TEST1</code>正在工作。 我刚接触python和scrapy,所以原因可能很愚蠢。在</p> <p>我想我的蜘蛛有个错误,这里:<code>if "authentication failed" in response.body:</code> 我在另一只蜘蛛身上发现了这一点,但我不知道如何调整它来适应这只蜘蛛。在</p> <p>我还更改了设置文件中的用户代理 <code>USER_AGENT = 'Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20100101 Firefox/7.7'</code></p> <p>提前谢谢</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>如果仔细查看输出,您将看到一行内容为“Filtered offsite request to…”。因为形式的作用是secure.meetic.com网站. 您需要将该域添加到spider的<code>allowed_domains</code>属性中,这样就不会对其进行筛选。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
我想从用户inpu创建一个类的实例
6 回答
我想从用户导入值,为此
2 回答
我想从用户那里得到一个整数输入,然后让for循环遍历该数字,然后调用一个函数多次
2 回答
我想从用户那里收到一个列表,并在其中执行一些步骤,然后在步骤完成后将其打印回来,但它没有按照我想要的方式工作
9 回答
我想从用户那里获取输入,并将值传递给(average=dict[x]/6),然后在那里获取resu
6 回答
我想从第一个列表中展示第一个词,然后从第二个列表中展示十个词,以此类推- Python
8 回答
我想从第一个空lin开始解析文本文件
10 回答
我想从简历、简历中提取特定部分
9 回答
我想从给定字典(python)的字符串中删除\u00a9、\u201d和类似的字符。
2 回答
我想从给定的网站Lin下载许多文件扩展名相同的Wget或Python文件
3 回答
我想从网上搜集一些关于抵押贷款的数据
9 回答
我想从网站上删除电子邮件地址
5 回答
我想从网站上读取数据该网站包含可下载的文件,然后我想用python脚本把它发送给oracle如何?
3 回答
我想从网站中提取数据,然后将其显示在我的网页上
1 回答
我想从网页上提取统计数据。
4 回答
我想从网页上解析首都城市,并在用户输入国家时在终端上打印它们
1 回答
我想从色彩图中删除前n个颜色,而不丢失原始颜色数
3 回答
我想从课堂上打印字典里的键
7 回答
我想从费用表中获取学生上次支付的费用,其中学生id=id
9 回答
我想从较低的顺序对多重列表进行排序,但我无法在一行中生成结果
4 回答