- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试让一个非常简单的 Scrapy 爬虫工作。我从解析中收到 NotImplemented 错误 - 本质上与此相同的问题:Why does scrapy throw an error for me when trying to spider and parse a site?
除了我继承自CrawlSpider。
我或多或少地逐字关注了这个页面: https://github.com/scrapy/scrapy/blob/master/docs/topics/spiders.rst#crawlspider-example
要编写此代码:
import scrapy
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.contrib.linkextractors import LinkExtractor
class SiteSpider(CrawlSpider):
name = 'sdreader'
allowed_domains = ['sandiegoreader.com']
start_urls = ['http://www.sandiegoreader.com/events/all/']
rules = [Rule(LinkExtractor(allow=['/events/2015/.+', '/events/ongoing/.+']), 'parse_event')]
def parse_event(self, response):
event = EventItem()
event['name'] = response.xpath('//*[@id="content"]/div[2]/h2/text()').extract()
return event
我在日志中得到了这个:
2015-04-12 15:01:07-0700 [scrapy] INFO: Scrapy 0.24.5 started (bot: sdreader)
2015-04-12 15:01:07-0700 [scrapy] INFO: Optional features available: ssl, http11
2015-04-12 15:01:07-0700 [scrapy] INFO: Overridden settings: {'NEWSPIDER_MODULE': 'sdreader.spiders', 'SPIDER_MODULES': ['sdreader.spiders'], 'DEPTH_LIMIT': 1, 'DOWNLOAD_DELAY': 2, 'BOT_NAME': 'sdreader'}
2015-04-12 15:01:07-0700 [scrapy] INFO: Enabled extensions: LogStats, TelnetConsole, CloseSpider, WebService, CoreStats, SpiderState
2015-04-12 15:01:07-0700 [scrapy] INFO: Enabled downloader middlewares: HttpAuthMiddleware, DownloadTimeoutMiddleware, UserAgentMiddleware, RetryMiddleware, DefaultHeadersMiddleware, MetaRefreshMiddleware, HttpCompressionMiddleware, RedirectMiddleware, CookiesMiddleware, ChunkedTransferMiddleware, DownloaderStats
2015-04-12 15:01:07-0700 [scrapy] INFO: Enabled spider middlewares: HttpErrorMiddleware, DeltaFetch, OffsiteMiddleware, RefererMiddleware, UrlLengthMiddleware, DepthMiddleware
2015-04-12 15:01:07-0700 [scrapy] INFO: Enabled item pipelines:
2015-04-12 15:01:07-0700 [sdreader] INFO: Spider opened
2015-04-12 15:01:07-0700 [sdreader] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
2015-04-12 15:01:07-0700 [scrapy] DEBUG: Telnet console listening on 127.0.0.1:6023
2015-04-12 15:01:07-0700 [scrapy] DEBUG: Web service listening on 127.0.0.1:6080
2015-04-12 15:01:24-0700 [sdreader] DEBUG: Crawled (200) <GET http://www.sandiegoreader.com/events/all/> (referer: None)
2015-04-12 15:01:24-0700 [sdreader] ERROR: Spider error processing <GET http://www.sandiegoreader.com/events/all/>
Traceback (most recent call last):
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twisted/internet/base.py", line 1178, in mainLoop
self.runUntilCurrent()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twisted/internet/base.py", line 800, in runUntilCurrent
call.func(*call.args, **call.kw)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twisted/internet/defer.py", line 368, in callback
self._startRunCallbacks(result)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twisted/internet/defer.py", line 464, in _startRunCallbacks
self._runCallbacks()
--- <exception caught here> ---
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twisted/internet/defer.py", line 551, in _runCallbacks
current.result = callback(current.result, *args, **kw)
File "/Library/Python/2.7/site-packages/scrapy/spider.py", line 56, in parse
raise NotImplementedError
exceptions.NotImplementedError:
2015-04-12 15:01:24-0700 [sdreader] INFO: Closing spider (finished)
2015-04-12 15:01:24-0700 [sdreader] ERROR: Error caught on signal handler: <bound method ?.spider_closed of <sdreader.middlewares.deltafetch.DeltaFetch object at 0x105167410>>
Traceback (most recent call last):
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twisted/internet/defer.py", line 551, in _runCallbacks
current.result = callback(current.result, *args, **kw)
File "/Library/Python/2.7/site-packages/scrapy/core/engine.py", line 275, in <lambda>
spider=spider, reason=reason, spider_stats=self.crawler.stats.get_stats()))
File "/Library/Python/2.7/site-packages/scrapy/signalmanager.py", line 23, in send_catch_log_deferred
return signal.send_catch_log_deferred(*a, **kw)
File "/Library/Python/2.7/site-packages/scrapy/utils/signal.py", line 53, in send_catch_log_deferred
*arguments, **named)
--- <exception caught here> ---
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twisted/internet/defer.py", line 134, in maybeDeferred
result = f(*args, **kw)
File "/Library/Python/2.7/site-packages/scrapy/xlib/pydispatch/robustapply.py", line 54, in robustApply
return receiver(*arguments, **named)
File "/Users/jasonyau/events/weekendr-db/sdreader/scrapy/sdreader/sdreader/middlewares/deltafetch.py", line 65, in spider_closed
self.db.close()
File "/Library/Python/2.7/site-packages/pymongo/collection.py", line 1705, in __call__
self.__name)
exceptions.TypeError: 'Collection' object is not callable. If you meant to call the 'close' method on a 'Database' object it is failing because no such method exists.
2015-04-12 15:01:24-0700 [sdreader] INFO: Dumping Scrapy stats:
{'downloader/request_bytes': 232,
'downloader/request_count': 1,
'downloader/request_method_count/GET': 1,
'downloader/response_bytes': 114076,
'downloader/response_count': 1,
'downloader/response_status_count/200': 1,
'finish_reason': 'finished',
'finish_time': datetime.datetime(2015, 4, 12, 22, 1, 24, 154684),
'log_count/DEBUG': 3,
'log_count/ERROR': 2,
'log_count/INFO': 7,
'response_received_count': 1,
'scheduler/dequeued': 1,
'scheduler/dequeued/memory': 1,
'scheduler/enqueued': 1,
'scheduler/enqueued/memory': 1,
'spider_exceptions/NotImplementedError': 1,
'start_time': datetime.datetime(2015, 4, 12, 22, 1, 7, 718810)}
2015-04-12 15:01:24-0700 [sdreader] INFO: Spider closed (finished)
一定是某处的用户错误。我研究了 Crawlspider 源代码,它似乎达到了我的预期。它正在实现解析并继承自Spider。
最佳答案
尝试将规则
中的回调函数更改为:
rules = [Rule(LinkExtractor(allow=['/events/2015/.+', '/events/ongoing/.+']), self.parse_event)]
关于python - 尽管继承自 CrawlSpider,但 Scrapy NotImplemented 解析错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29595311/
我一直在使用 AJAX 从我正在创建的网络服务中解析 JSON 数组时遇到问题。我的前端是一个简单的 ajax 和 jquery 组合,用于显示从我正在创建的网络服务返回的结果。 尽管知道我的数据库查
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
我在尝试运行 Android 应用程序时遇到问题并收到以下错误 java.lang.NoClassDefFoundError: com.parse.Parse 当我尝试运行该应用时。 最佳答案 在这
有什么办法可以防止etree在解析HTML内容时解析HTML实体吗? html = etree.HTML('&') html.find('.//body').text 这给了我 '&' 但我想
我有一个有点疯狂的例子,但对于那些 JavaScript 函数作用域专家来说,它看起来是一个很好的练习: (function (global) { // our module number one
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 8 年前。 Improve th
我需要编写一个脚本来获取链接并解析链接页面的 HTML 以提取标题和其他一些数据,例如可能是简短的描述,就像您链接到 Facebook 上的内容一样。 当用户向站点添加链接时将调用它,因此在客户端启动
在 VS Code 中本地开发时,包解析为 C:/Users//AppData/Local/Microsoft/TypeScript/3.5/node_modules/@types//index而不是
我在将 json 从 php 解析为 javascript 时遇到问题 这是我的示例代码: //function MethodAjax = function (wsFile, param) {
我在将 json 从 php 解析为 javascript 时遇到问题 这是我的示例代码: //function MethodAjax = function (wsFile, param) {
我被赋予了将一种语言“翻译”成另一种语言的工作。对于使用正则表达式的简单逐行方法来说,源代码过于灵活(复杂)。我在哪里可以了解更多关于词法分析和解析器的信息? 最佳答案 如果你想对这个主题产生“情绪化
您好,我在解析此文本时遇到问题 { { { {[system1];1;1;0.612509325}; {[system2];1;
我正在为 adobe after effects 在 extendscript 中编写一些代码,最终变成了 javascript。 我有一个数组,我想只搜索单词“assemble”并返回整个 jc3_
我有这段代码: $(document).ready(function() { // }); 问题:FB_RequireFeatures block 外部的代码先于其内部的代码执行。因此 who
背景: netcore项目中有些服务是在通过中间件来通信的,比如orleans组件。它里面服务和客户端会指定网关和端口,我们只需要开放客户端给外界,服务端关闭端口。相当于去掉host,这样省掉了些
1.首先贴上我试验成功的代码 复制代码 代码如下: protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
什么是 XML? XML 指可扩展标记语言(eXtensible Markup Language),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。 你可以通过本站学习 X
【PHP代码】 复制代码 代码如下: $stmt = mssql_init('P__Global_Test', $conn) or die("initialize sto
在SQL查询分析器执行以下代码就可以了。 复制代码代码如下: declare @t varchar(255),@c varchar(255) declare table_cursor curs
前言 最近练习了一些前端算法题,现在做个总结,以下题目都是个人写法,并不是标准答案,如有错误欢迎指出,有对某道题有新的想法的友友也可以在评论区发表想法,互相学习🤭 题目 题目一: 二维数组中的
我是一名优秀的程序员,十分优秀!