2017-02-15 44 views
0

我試圖通過可讀性和scrapy讀取它們時檢索一些項目。我寫了這個代碼:Readeability IXML xpath不起作用

titles = response.xpath("//a[@class='media__link']").extract() 
    #titles = response.xpath('//a/@href').extract() 
    print ("%d links was found" %len(titles)) 


    count=0 
    for title in titles: 
     item = TutsplusItem() 
     item["title"] = title 
     print("Title is : %s" %title) 
     yield item 
     titleInner = Document(title) 
     link = titleInner.xpath("//a/@href") 
     link = "http://www.bbc.com" + link 
     response = requests.get(link) 
     doc = Document(response) 

     title=doc.xpath("//title/text()") 
     headline=doc.xpath("//p[@class='story-body__introduction']/text()") 
     bodyText=doc.xpath("//div[class='story-body__inner']/text()") 

然而,當我在該線上的可讀性文件運行的XPath我得到一個錯誤:

link = titleInner.xpath("//a/@href) 

的錯誤是:

Traceback (most recent call last):
File "c:\python27\lib\site-packages\scrapy-1.3.1-py2.7.egg\scrapy\utils\defer.py", line 102, in iter_errback
yield next(it)
File "c:\python27\lib\site-packages\scrapy-1.3.1-py2.7.egg\scrapy\spidermiddlewares\offsite.py", line 29, in process_spider_output
for x in result:
File "c:\python27\lib\site-packages\scrapy-1.3.1-py2.7.egg\scrapy\spidermiddlewares\referer.py", line 22, in
return (_set_referer(r) for r in result or())
File "c:\python27\lib\site-packages\scrapy-1.3.1-py2.7.egg\scrapy\spidermiddlewares\urllength.py", line 37, in
return (r for r in result or() if _filter(r))
File "c:\python27\lib\site-packages\scrapy-1.3.1-py2.7.egg\scrapy\spidermiddlewares\depth.py", line 58, in
return (r for r in result or() if _filter(r))
File "C:\Users\Mehdi\PycharmProjects\WebCrawler\src\Crawler.py", line 69, in parse
link = titleInner.xpath("//a/@href")
TypeError: Type '' cannot be serialized.

我不能得到問題在哪裏?

+0

任何提示?我正在使用Python .7 – Mehdi

回答

0

我在避免可讀性和使用LXML!