新手用 Scrapy 写爬虫时,一直提示 URLError: <urlopen error timed out>求大神指导

2016-06-22 14:59:07 +08:00
 cashew
URLError: <urlopen error timed out>

[boto] ERROR: Unable to read instance data, giving up

爬取的是豆瓣图书 Top250 ( https://book.douban.com/top250 ) 一直提示超时。

但是爬取豆瓣 9 分书单( https://www.douban.com/doulist/1264675/ ) 时就不会有问题。

两个页面的结构基本一样,代码只是稍微不同,大致是一样的。

但是在爬取时, Top250 的那个就一直报错, 9 分书单的那个可以正常爬取完成。

import scrapy
from scrapy.contrib.spiders import CrawlSpider
from scrapy.http import Request
from scrapy.selector import Selector
from douban_book.items import DoubanBookItem

class Douban(CrawlSpider):
    name = "dbbook"
    start_urls = (
        'https://book.douban.com/top250'
    )
3012 次点击
所在节点    Python
4 条回复
laozhao0
2016-06-22 15:27:28 +08:00
add "DOWNLOAD_HANDLERS = {'s3': None, }" to settings.py
brucedone
2016-06-22 15:58:16 +08:00
记得加上请求头,还有一些其它的参数都要填全
cashew
2016-06-22 16:12:25 +08:00
@laozhao0
@brucedone
请求头已加入。

File "/home/cashew/Codes/douban_book/douban_book/spiders/dbbook.py", line 37, in parse
item['bookesInfo'] = booksInfo
File "/usr/lib/python2.7/dist-packages/scrapy/item.py", line 63, in __setitem__
(self.__class__.__name__, key))
KeyError: 'DoubanBookItem does not support field: bookesInfo'

又报错了。
laozhao0
2016-06-22 16:55:51 +08:00
你的 DoubanBookItem 里没有 bookesInfo 字段,但是在 spider 里写了 item['bookesInfo'] = 'xxx' ?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/287559

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX