草庐IT

crawlspider

全部标签

python - 如何向 Scrapy CrawlSpider 请求添加 header ?

我正在使用CrawlSpider类来抓取网站,我想修改每个请求中发送的header。具体来说,我想将referer添加到请求中。根据thisquestion,我检查过response.request.headers.get('Referer',None)在我的响应解析函数中,Refererheader不存在。我认为这意味着Referer没有在请求中提交(除非网站不返回它,我不确定)。我还没弄清楚如何修改请求的header。同样,我的蜘蛛是从CrawlSpider派生的。覆盖CrawlSpider的_requests_to_follow或为规则指定process_request回调将不起

python - 我怎样才能停止一个 scrapy CrawlSpider 并稍后从它停止的地方恢复?

我有一个ScrapyCrawlSpider有一个非常大的要抓取的URL列表。我希望能够停止它,保存当前状态并在以后恢复它而不必重新开始。有没有办法在Scrapy框架内完成这个? 最佳答案 只是想分享一下最新的scrapy版本中包含的功能,但参数名称已更改。你应该像这样使用它:scrapycrawlthespider--setJOBDIR=run1更多信息请点击此处http://doc.scrapy.org/en/latest/topics/jobs.html#job-directory

html - 使用 scrapy 获取 crawlspider 来处理经过身份验证(登录)的用户 session

你好,我怎样才能让我的crawlspider工作,我可以登录,但没有任何反应,我真的没有抓到。我也一直在阅读scrapy文档,我真的不明白用于抓取的规则。为什么“登录成功,开始爬虫!”我在else语句的末尾也有这条规则,但将其删除,因为它甚至没有被调用,因为它在我的elseblock中。所以我将它移到start_request()方法的顶部但出现错误所以我删除了我的规则。rules=(Rule(extractor,callback='parse_item',follow=True),)我的代码:fromscrapy.contrib.spiders.initimportInitSpide

html - 使用 scrapy 获取 crawlspider 来处理经过身份验证(登录)的用户 session

你好,我怎样才能让我的crawlspider工作,我可以登录,但没有任何反应,我真的没有抓到。我也一直在阅读scrapy文档,我真的不明白用于抓取的规则。为什么“登录成功,开始爬虫!”我在else语句的末尾也有这条规则,但将其删除,因为它甚至没有被调用,因为它在我的elseblock中。所以我将它移到start_request()方法的顶部但出现错误所以我删除了我的规则。rules=(Rule(extractor,callback='parse_item',follow=True),)我的代码:fromscrapy.contrib.spiders.initimportInitSpide

javascript - 如何使用scrapy中的CrawlSpider单击带有javascript onclick的链接?

我想让scrapy抓取下一个链接如下所示的页面:Nextscrapy是否能够解释其中的javascript代码?通过livehttpheaders扩展,我发现单击Next会生成一个POST,其中包含一个非常大的“垃圾”,如下所示:encoded_session_hidden_map=H4sIAAAAAAAAALWZXWwj1RXHJ9n我正在尝试在CrawlSpider类上构建我的蜘蛛,但我无法真正弄清楚如何对其进行编码,使用BaseSpider我使用了parse()方法来处理第一个URL,它恰好是一个登录表单,我在那里做了一个POST:deflogon(self,response):

javascript - 如何使用scrapy中的CrawlSpider单击带有javascript onclick的链接?

我想让scrapy抓取下一个链接如下所示的页面:Nextscrapy是否能够解释其中的javascript代码?通过livehttpheaders扩展,我发现单击Next会生成一个POST,其中包含一个非常大的“垃圾”,如下所示:encoded_session_hidden_map=H4sIAAAAAAAAALWZXWwj1RXHJ9n我正在尝试在CrawlSpider类上构建我的蜘蛛,但我无法真正弄清楚如何对其进行编码,使用BaseSpider我使用了parse()方法来处理第一个URL,它恰好是一个登录表单,我在那里做了一个POST:deflogon(self,response):

python - Scrapy CrawlSpider : how to access item across different levels of parsing

我正在抓取一个网站(只有两层深度),我想从两层的网站中抓取信息。我遇到的问题是,我想用两个级别的信息填写一个项目的字段。我该怎么做?我正在考虑将一个项目列表作为一个实例变量,所有线程都可以访问它(因为它是蜘蛛的同一个实例),parse_1将填写一些字段,parse_2将必须检查正确的填写相应值之前的键。这种方法看起来很繁琐,我仍然不确定如何使它起作用。我在想一定有更好的方法,也许可以通过某种方式将项目传递给回调。不过,我不知道如何使用Request()方法来做到这一点。想法? 最佳答案 来自scrapy文档:在某些情况下,您可能有兴

python - 如何访问 Scrapy CrawlSpider 中的特定 start_url?

我正在使用Scrapy,特别是Scrapy的CrawlSpider类来抓取包含某些关键字的Web链接。我有一个很长的start_urls从连接到Django项目的SQLite数据库中获取其条目的列表。我想将抓取的Web链接保存在此数据库中。我有两个Django模型,一个用于启动url,例如http://example.com一个用于抓取的网络链接,例如http://example.com/website1,http://example.com/website2等等。所有抓取的Web链接都是start_urls中起始网址之一的子站点。列表。网络链接模型与起始url模型具有多对一关系,即网

python - 理解 Scrapy 的 CrawlSpider 规则

我无法理解如何在我自己的从CrawlSpider继承的Spider中使用规则字段。我的蜘蛛正试图在旧金山的比萨饼黄页列表中爬行。我试图让我的规则保持简单,只是为了看看蜘蛛是否会爬过响应中的任何链接,但我没有看到它发生。我唯一的结果是它产生对下一页的请求,然后产生对后续页面的请求。我有两个问题:1.蜘蛛收到响应后是否先处理规则再调用回调?或相反亦然?2.规则何时适用?编辑:我想到了。我覆盖了CrawlSpider的解析方法。在查看该类中的parse方法后,我意识到这是它检查规则并抓取这些网站的地方。注意:了解您要覆盖的内容这是我的代码:fromscrapy.contrib.spiders

python - BaseSpider 和 CrawlSpider 的区别

我一直在努力理解在网络抓取中使用BaseSpider和CrawlSpider的概念。我读过docs.但是BaseSpider上没有提及。如果有人能解释一下BaseSpider和CrawlSpider之间的区别,那将对我很有帮助。 最佳答案 BaseSpider是以前存在的东西,现在已弃用(自0.22起)-使用scrapy.Spider代替:importscrapyclassMySpider(scrapy.Spider):#...scrapy.Spider是最简单的蜘蛛,它基本上会访问start_urls中定义的URL或start_r
12