繁体   English   中英

更新Scrapy后,Spider无法运行

[英]Spider won't run after updating Scrapy

似乎在这里经常发生,我对Python 2.7和Scrapy还是很陌生。 我们的项目为我们提供了抓取网站的日期,一些链接以及更多的抓取信息,依此类推。 一切都很好。 然后,我更新了Scrapy。

现在,当我启动蜘蛛时,会收到以下消息: 在此处输入图片说明

以前在任何地方都没有出现过这种情况(我之前的错误消息都没有像这样的东西)。 我现在在Python 2.7上运行scrapy 1.1.0。 以前从事此项目的蜘蛛都没有工作。

我可以根据需要提供一些示例代码,但是我的Python知识(被认为是有限的)对我来说,它甚至在轰炸之前都没有进入我的脚本。

编辑:好的,所以该代码应该从迪肯大学学者在《对话》的第一作者页面开始,然后仔细阅读他们写的文章和评论的数量。

import scrapy
from ltuconver.items import ConversationItem
from ltuconver.items import WebsitesItem
from ltuconver.items import PersonItem
from scrapy import Spider
from scrapy.selector import Selector
from scrapy.http import Request
import bs4

class ConversationSpider(scrapy.Spider):
name = "urls"
allowed_domains = ["theconversation.com"]
start_urls = [
    'http://theconversation.com/institutions/deakin-university/authors']


#URL grabber
def parse(self, response):
    requests = []
    people = Selector(response).xpath('///*[@id="experts"]/ul[*]/li[*]')
    for person in people:
        item = WebsitesItem()
        item['url'] = 'http://theconversation.com/'+str(person.xpath('a/@href').extract())[4:-2]
        self.logger.info('parseURL = %s',item['url'])
        requests.append(Request(url=item['url'], callback=self.parseMainPage))

    soup = bs4.BeautifulSoup(response.body, 'html.parser')
    try:          
        nexturl = 'https://theconversation.com'+soup.find('span',class_='next').find('a')['href']
        requests.append(Request(url=nexturl))
    except:
        pass
    return requests

#go to URLs are grab the info
def parseMainPage(self, response):
    person = Selector(response)
    item = PersonItem()
    item['name'] = str(person.xpath('//*[@id="outer"]/header/div/div[2]/h1/text()').extract())[3:-2]
    item['occupation'] = str(person.xpath('//*[@id="outer"]/div/div[1]/div[1]/text()').extract())[11:-15]
    item['art_count'] = int(str(person.xpath('//*[@id="outer"]/header/div/div[3]/a[1]/h2/text()').extract())[3:-3])
    item['com_count'] = int(str(person.xpath('//*[@id="outer"]/header/div/div[3]/a[2]/h2/text()').extract())[3:-3])

在“设置”中,我有:

BOT_NAME = 'ltuconver'
SPIDER_MODULES = ['ltuconver.spiders']
NEWSPIDER_MODULE = 'ltuconver.spiders'

DEPTH_LIMIT=1

显然我的six.py文件已损坏(或类似的东西)。 与同事交换相同文件后,它又开始工作8- \\

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM