问题标签 [scrapy-spider]

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 投票
0 回答
310 浏览

python - 为什么Scrapy扩展类的成员变量在spider中不可见,但可以通过管道访问?

我在 scrapy 中创建了扩展来设置公共路径变量和其他东西。因此,在输出路径发生变化的情况下,只需要修改一个文件。但我无法访问蜘蛛内部的那条路径。

以下是扩展代码。

上述扩展在设置中启用,如下所示

我的蜘蛛代码如下

其中 spiderCommon 文件包含以下内容

Common.output_dir 的值在蜘蛛内部不可访问,但我可以在管道内访问它。

当我尝试在蜘蛛上运行时,它卡在[scrapy] DEBUG: Web service listener listener on 0.0.0.0:6080,然后在不抓取任何链接的情况下完成。原因是它没有得到Common.output_dir的值 任何人都可以指出我哪里出错了?

0 投票
1 回答
325 浏览

python - scrapy shell返回不同的结果和脚本返回不同

我正在尝试抓取此 URL“ http://www.funkytrunks.com/715-clearance

我的xpath如下,

当我使用 Scrapy Shell 时,它返回 122 行,在浏览器中返回 135 行。这是一个很奇怪的问题。我使用检查htmlresponse.body并将其保存到HTML文件并在浏览器中打开它并运行xpath,它运行良好。

任何帮助都应该不胜感激。

0 投票
1 回答
237 浏览

python - Scrapy Spider 不使用 SgmlLinkExtractor Rule 进入 parse_item 方法

我正在制作一个爬虫来递归地爬取网站,但问题是蜘蛛没有进入 parse_item 方法。我的蜘蛛的名称是 example.py。代码如下:

0 投票
2 回答
1111 浏览

python - 从多个 URL 抓取数据

我希望从 [a link] http://cbfcindia.gov.in/html/SearchDetails.aspx?mid=1&Loc=Backlog抓取数据!,但是 MID 参数在 URL 中是递增的,以提供第二个、第三个 URL .....直到 1000 个 URL,那么我该如何处理这个(我是 PYTHON 和 SCRAPY 的新手,所以不要介意我问这个)?

请检查我用来提取信息的 XPATH,它没有获取任何输出,蜘蛛中是否存在基本错误

以下是日志:

0 投票
2 回答
1606 浏览

python - Scrapy:蜘蛛什么都不返回

这是我第一次创建蜘蛛,尽管我很努力,但它仍然没有返回任何内容到我的 csv 导出。我的代码是:

问题是,如果我打印网站,它会给我一个 URL 列表,这没关系。如果我在 scrapy shell 中的一个 URL 中搜索名称,它会找到它。问题是当我抓取所有链接中的所有名称时。我使用“scrapy crawl emag>emag.cs​​v”运行它

你能给我一个提示有什么问题吗?

0 投票
1 回答
505 浏览

python - 413 在 XHR 上使用 scrapy,在请求库中工作正常

我正在尝试从使用 XML 的在线 GIS 系统中抓取一些数据。我能够使用请求库创建一个快速脚本,该库成功发布了有效负载并返回了具有正确结果的 HTTP 200,但是当将请求转移到 scrapy 时,我不断得到一个413. 我使用 Wireshark 检查了这两个请求并发现了一些差异,但我并不完全确定我是否理解它们。

scrapy 中的请求如下所示:

我检查的数据包位于:http: //justpaste.it/fxht

这包括使用 requests 库时的 HTTP 请求和产生 scrapy Request 对象时的 HTTP 请求。使用scrapy时请求似乎更大,使用requests库时,看起来第二个TCP段比第二个TCP段大21个字节。Content-Length 标头在 scrapy 请求中也设置了两次。

有没有人遇到过这样的scrapy问题?我以前从来没有用 413 刮过任何东西。

0 投票
1 回答
501 浏览

python - 递归 Scrapy 爬取问题

我正在尝试做一个递归蜘蛛来从具有特定链接结构的站点(例如:web.com)中提取内容。例如:

http://web.com/location/profile/12345678?qid=1403226397.5971&source=location&rank=21

http://web.com/location/profile/98765432?qid=1403366850.3991&source=locaton&rank=1

如您所见,只有 URL 的数字部分发生了变化,我需要爬取此 URL 结构后的所有链接并提取 itemX、itemY 和 itemZ。

我已将链接结构翻译成正则表达式,如下所示:'\d+?qid=\d+.\d+&source=location&rank=\d+'。Python-Scrapy 代码如下,但是,在我运行蜘蛛之后,蜘蛛没有提取任何内容:

0 投票
1 回答
386 浏览

python - 在多页上递归使用scrapy获取链接

我正在使用我在网上找到的以下代码递归地抓取多页上的链接。它应该递归地返回所有页面上我需要的所有链接。但我最终最多只能获得 100 个链接。任何建议都会有所帮助。

0 投票
1 回答
405 浏览

python - 运行scrapy网络爬虫时出错

但是,当我尝试调用蜘蛛时,我收到以下错误消息:

我能做些什么来使这段代码正常工作吗?

谁能帮我?

谢谢!!!

0 投票
1 回答
3666 浏览

scrapy - 如何用scrapy爬取多个域

我有一个项目,我必须在其中抓取大量不同的站点。所有这些网站的爬行都可以使用同一个蜘蛛,因为我不需要从它的正文页面中提取项目。我认为的方法是在蜘蛛文件中参数化要爬取的域,并调用scrapy crawl命令传递域和启动url作为参数,这样我就可以避免为每个站点生成一个蜘蛛(站点列表会增加时间)。这个想法是将它部署到运行scrapyd的服务器上,所以我遇到了几个问题:

  • 这是我能采取的最好方法吗?
  • 如果是这样,如果我安排多次传递不同参数的同一个蜘蛛,是否有任何并发​​问题?
  • 如果这不是最好的方法,最好为每个站点创建一个蜘蛛......我将不得不经常更新项目。项目更新会影响正在运行的蜘蛛吗?