问题标签 [scrapy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5570 浏览

python - Python Scrapy,如何为项目定义管道?

我正在使用scrapy来抓取不同的站点,对于每个站点我都有一个项目(提取了不同的信息)

好吧,例如我有一个通用管道(大部分信息是相同的),但现在我正在抓取一些谷歌搜索响应,并且管道必须不同。

例如:

GenericItem用途GenericPipeline

但是GoogleItem用途GoogleItemPipeline,但是当蜘蛛爬行时,它会尝试使用GenericPipeline而不是GoogleItemPipeline......我如何指定谷歌蜘蛛必须使用哪个管道?

0 投票
2 回答
513 浏览

optimization - 存储爬虫状态的最优化方式?

我目前正在编写一个网络爬虫(使用 python 框架scrapy)。
最近我不得不实现一个暂停/恢复系统。
我实现的解决方案是最简单的一种,基本上,当它们被安排时存储链接,并在它们实际存在时将它们标记为“已处理”。
因此,当恢复蜘蛛时,我能够获取这些链接(显然存储的不仅仅是 URL、深度值、链接所属的域等......),到目前为止一切正常。

现在,我一直在使用 mysql 表来处理这些存储操作,主要用于快速原型设计。

现在我想知道如何优化它,因为我相信数据库不应该是这里唯一可用的选项。通过优化,我的意思是,使用一个非常简单和轻量级的系统,同时仍然能够处理在短时间内写入的大量数据

目前,它应该能够处理几十个域的爬取,这意味着每秒存储几千个链接......

提前感谢您的建议

0 投票
1 回答
1647 浏览

twisted - Scrapy蜘蛛中的扭曲错误

当我从 Scrapy 教程运行蜘蛛时,我收到以下错误消息:

--- <exception caught here>---

有谁知道它们是什么以及如何摆脱它们?

谢谢

0 投票
4 回答
3842 浏览

python - 新手 Q 关于 Scrapy pipeline.py

我正在学习 Scrapy 教程。为了测试这个过程,我用这些文件创建了一个新项目:

有关脚本的链接,请参阅我在 Scrapy 组中的帖子,我不能在此处发布超过 1 个链接。

蜘蛛运行良好,将标题标签之间的文本刮掉,放到 FirmItem 中

但我被困在管道过程中。我想将此 FirmItem 添加到 csv 文件中,以便可以将其添加到数据库中。

我是 python 新手,我正在学习。如果有人给我一个关于如何使 pipelines.py 工作以便将抓取的数据放入 items.csv 的线索,我将不胜感激。

谢谢你。

0 投票
2 回答
666 浏览

python - 蜘蛛的 Scrapy 域名

来自 Scrapy 教程:

domain_name:标识蜘蛛。必须是唯一的,即不能为不同的Spider设置相同的域名。

这是否意味着domain_name必须是有效的域名,例如

domain_name = 'example.com'

或者我可以命名

问题是我有一个使用域名的蜘蛛

现在我创建了一个新的蜘蛛作为 CrawlSpider 的实例并命名它

但我得到了错误"could not find spider for domain "wc2""

0 投票
3 回答
2743 浏览

python - Scrapy蜘蛛索引错误

这是我一直试图在 Scrapy 框架中编写的 Spyder1 的代码:

中的正则表达式rules成功地从起始网址中提取了我想要的所有生物网址:

但是当我运行代码时,我得到

这是 Items.py 中的 FirmItem

你能帮我了解索引错误发生在哪里吗?

在我看来,它与SgmLinkExtractor 有关

几周以来,我一直试图让这个蜘蛛与 Scrapy 一起工作。他们有一个很好的教程,但我是 python 和网络编程的新手,所以我不明白例如如何在SgmlLinkExtractor幕后工作。

尝试使用 Python 库编写具有相同简单功能的蜘蛛会更容易吗?我将不胜感激任何评论和帮助。

谢谢

0 投票
2 回答
10685 浏览

python - 如何用 Python 写一个简单的蜘蛛?

我已经尝试写这个蜘蛛好几个星期了,但没有成功。我用 Python 编写代码的最佳方法是什么:

1)初始网址:http://www.whitecase.com/Attorneys/List.aspx?LastName=A

2) 从初始 url 中使用这个正则表达式获取这些 url:

hxs.select('//td[@class="altRow"][1]/a/@href').re('/.a\w+')

3) 转到这些网址中的每一个并使用此正则表达式刮取学校信息

hxs.select('//td[@class="mainColumnTDa"]').re('(?<=(JD,\s))(.*?)(\d+)'

[u'JD, ', u'University of Florida Levin College of Law, <em>magna cum laude</em> , Order of the Coif, Symposium Editor, Florida Law Review, Awards for highest grades in Comparative Constitutional History, Legal Drafting, Real Property and Sales, ', u'2007']

4)将抓取的学校信息写入schools.csv文件

你能帮我用 Python 写这个蜘蛛吗?我一直在尝试用 Scrapy 编写它,但没有成功。请参阅我之前的问题

谢谢你。

0 投票
1 回答
5685 浏览

python - Scrapy BaseSpider:它是如何工作的?

这是 Scrapy 教程中的 BaseSpider 示例:

我复制了它并对我的项目进行了更改:

我得到了错误

如果这里的专家查看代码并告诉我哪里出错了,我将不胜感激。

谢谢

0 投票
5 回答
5375 浏览

python - Scrapy蜘蛛不工作

由于到目前为止没有任何工作,我开始了一个新项目

我完全按照教程,创建了文件夹和一个新的蜘蛛

当我跑步时

我明白了

其他蜘蛛至少被 Scrapy 识别,这个不是。我究竟做错了什么?

谢谢你的帮助!

0 投票
4 回答
8547 浏览

python - Scrapy SgmlLinkExtractor 问题

我正在尝试使 SgmlLinkExtractor 工作。

这是签名:

我只是在使用allow=()

所以,我输入

所以,最初的 url 是'http://www.whitecase.com/jacevedo/',我正在输入allow=('/aadler',)并期望它 '/aadler/'也会被扫描。但是,蜘蛛会扫描初始 url,然后关闭:

我在这里做错了什么?

这里有没有成功使用 Scrapy 的人可以帮助我完成这个蜘蛛?

感谢您的帮助。

我在下面包含蜘蛛的代码:

注意:SO 不会让我发布超过 1 个网址,因此请根据需要替换初始网址。对于那个很抱歉。