问题标签 [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.
python - Python Scrapy,如何为项目定义管道?
我正在使用scrapy来抓取不同的站点,对于每个站点我都有一个项目(提取了不同的信息)
好吧,例如我有一个通用管道(大部分信息是相同的),但现在我正在抓取一些谷歌搜索响应,并且管道必须不同。
例如:
GenericItem
用途GenericPipeline
但是GoogleItem
用途GoogleItemPipeline
,但是当蜘蛛爬行时,它会尝试使用GenericPipeline
而不是GoogleItemPipeline
......我如何指定谷歌蜘蛛必须使用哪个管道?
optimization - 存储爬虫状态的最优化方式?
我目前正在编写一个网络爬虫(使用 python 框架scrapy)。
最近我不得不实现一个暂停/恢复系统。
我实现的解决方案是最简单的一种,基本上,当它们被安排时存储链接,并在它们实际存在时将它们标记为“已处理”。
因此,当恢复蜘蛛时,我能够获取这些链接(显然存储的不仅仅是 URL、深度值、链接所属的域等......),到目前为止一切正常。
现在,我一直在使用 mysql 表来处理这些存储操作,主要用于快速原型设计。
现在我想知道如何优化它,因为我相信数据库不应该是这里唯一可用的选项。通过优化,我的意思是,使用一个非常简单和轻量级的系统,同时仍然能够处理在短时间内写入的大量数据
目前,它应该能够处理几十个域的爬取,这意味着每秒存储几千个链接......
提前感谢您的建议
twisted - Scrapy蜘蛛中的扭曲错误
当我从 Scrapy 教程运行蜘蛛时,我收到以下错误消息:
--- <exception caught here>
---
有谁知道它们是什么以及如何摆脱它们?
谢谢
python - 新手 Q 关于 Scrapy pipeline.py
我正在学习 Scrapy 教程。为了测试这个过程,我用这些文件创建了一个新项目:
有关脚本的链接,请参阅我在 Scrapy 组中的帖子,我不能在此处发布超过 1 个链接。
蜘蛛运行良好,将标题标签之间的文本刮掉,放到 FirmItem 中
但我被困在管道过程中。我想将此 FirmItem 添加到 csv 文件中,以便可以将其添加到数据库中。
我是 python 新手,我正在学习。如果有人给我一个关于如何使 pipelines.py 工作以便将抓取的数据放入 items.csv 的线索,我将不胜感激。
谢谢你。
python - 蜘蛛的 Scrapy 域名
来自 Scrapy 教程:
domain_name:标识蜘蛛。必须是唯一的,即不能为不同的Spider设置相同的域名。
这是否意味着domain_name
必须是有效的域名,例如
domain_name = 'example.com'
或者我可以命名
问题是我有一个使用域名的蜘蛛
现在我创建了一个新的蜘蛛作为 CrawlSpider 的实例并命名它
但我得到了错误"could not find spider for domain "wc2""
python - Scrapy蜘蛛索引错误
这是我一直试图在 Scrapy 框架中编写的 Spyder1 的代码:
中的正则表达式rules
成功地从起始网址中提取了我想要的所有生物网址:
但是当我运行代码时,我得到
这是 Items.py 中的 FirmItem
你能帮我了解索引错误发生在哪里吗?
在我看来,它与SgmLinkExtractor 有关。
几周以来,我一直试图让这个蜘蛛与 Scrapy 一起工作。他们有一个很好的教程,但我是 python 和网络编程的新手,所以我不明白例如如何在SgmlLinkExtractor
幕后工作。
尝试使用 Python 库编写具有相同简单功能的蜘蛛会更容易吗?我将不胜感激任何评论和帮助。
谢谢
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 编写它,但没有成功。请参阅我之前的问题。
谢谢你。
python - Scrapy BaseSpider:它是如何工作的?
这是 Scrapy 教程中的 BaseSpider 示例:
我复制了它并对我的项目进行了更改:
我得到了错误
如果这里的专家查看代码并告诉我哪里出错了,我将不胜感激。
谢谢
python - Scrapy蜘蛛不工作
由于到目前为止没有任何工作,我开始了一个新项目
我完全按照教程,创建了文件夹和一个新的蜘蛛
当我跑步时
我明白了
其他蜘蛛至少被 Scrapy 识别,这个不是。我究竟做错了什么?
谢谢你的帮助!
python - Scrapy SgmlLinkExtractor 问题
我正在尝试使 SgmlLinkExtractor 工作。
这是签名:
我只是在使用allow=()
所以,我输入
所以,最初的 url 是'http://www.whitecase.com/jacevedo/'
,我正在输入allow=('/aadler',)
并期望它
'/aadler/'
也会被扫描。但是,蜘蛛会扫描初始 url,然后关闭:
我在这里做错了什么?
这里有没有成功使用 Scrapy 的人可以帮助我完成这个蜘蛛?
感谢您的帮助。
我在下面包含蜘蛛的代码:
注意:SO 不会让我发布超过 1 个网址,因此请根据需要替换初始网址。对于那个很抱歉。