2016-05-20 7 views
0

ここで頻繁に発生するように、私はPython 2.7とScrapyにはかなり新しいです。私たちのプロジェクトでは、ウェブサイトの日付を拝見したり、いくつかのリンクや擦り傷をつけたりしています。これはすべて正常に動作していた。その後、私はScrapyを更新しました。これは以前にどこにも来ていなかった enter image description hereスパイダーの更新後にスパイダーが実行されない

(私の前のエラーメッセージのいずれも、このように何も見えません):私は私のクモを起動したとき

は今、私は、次のメッセージが表示されます。私は今Python 2.7でscrapy 1.1.0を実行しています。以前はこのプロジェクトで働いていたクモのどれも働いていません。

私は、必要な場合、いくつかのコード例を提供することができますが、私の(明らかに制限された)Pythonに関する知識は、爆撃の前にスクリプトに到達しないことを示唆しています。

EDIT: OKので、このコードは、会話にディーキン大学の学者のための最初の著者ページで開始し、通過して、彼らが書かれており、彼らが作ったコメントしているどのように多くの記事こすりすることになっています。

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 
+0

ファイルを表示します。これはタイプミスです – Nabin

答えて

0

どうやら私のsix.pyファイルが破損している(またはそのようなもの)でした。同じファイルを同僚から交換した後、再び作業を開始しました。8- \

関連する問題