python 爬虫scrapy遇到的问题


import scrapy
import bs4
from ..items import DoubanItem

class DoubanSpider(scrapy.Spider):
    name='douban'
    allowed_domains=['book.douban.com']
    start_urls=[]
    for x in range(3):
        url= 'https://book.douban.com/top250?start=' +str(x*25)
        start_urls.append(url)

    def parse(self, response):
        bs=bs4.BeautifulSoup(response.text,'html.parser')
        datas=bs.find_all('tr',class_='item')
        for data in datas:
            item=DoubanItem()
            item['title']=data.find_all('a')[1]['title']
            item['publish']=data.find('p',class_='pl').text
            item['score']=data.find('span',class_='rating_nums').text
            print(item['title'])
            yield item

main:

from scrapy import cmdline
import sys,os
dirpath=os.path.dirname(os.path.abspath(__file__))

print(dirpath)

sys.path.append(dirpath)
os.chdir(dirpath)

cmdline.execute(['scrapy','crawl','douban'])

img

为什么会出现这样的报错啊,请教大家

在运行这个程序时,有去访问网页下载,然而由于网不好或其它原因,超时了timeout,所以报错。等网好时再试下吧。
或者换个能很快响应的网站试下。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^