Skip to main content
 首页 » 编程设计

python之使用 scrapy 我得到一个空项目

2025年05月04日8sxdcgaq8080

我想使用 python 和 scrapy 从网页中抓取一些信息,但是当我尝试这样做时,我的项目的输出是空的...

首先,我用 scrapy 开始了一个新项目。然后我在 items.py 文件中写了以下内容:

import scrapy 
 
class KakerlakeItem(scrapy.Item): 
    info=scrapy.Field() 
    pass 

接下来,我使用以下代码在蜘蛛文件夹中创建了一个新文件:

import scrapy 
 
from kakerlake.items import KakerlakeItem 
 
class Kakerlakespider(scrapy.Spider): 
    name='Coco' 
    allowed_domains=['http://www.goeuro.es/'] 
    start_urls=['http://www.goeuro.es/search/NTYzY2U2Njk4YzA1ZDoyNzE2OTU4ODM='] 
 
    def parse(self, response): 
        item=KakerlakeItem() 
        item['info']=response.xpath('//span[@class= "inline-b height-100"]/text()').extract() 
        #yield item 
        return item 

我希望,通过在控制台中编写 scrapy crawl Coco -o data.json,我会得到我想要的东西,但我没有用 {' 获取 json 文件信息':[]}。即,一个空项目。

我已经尝试了很多东西,但我不知道为什么它不能正常工作......

请您参考如下方法:

您的 xpath 对于页面无效,因为没有一个类带有“inline-b”或“height-100”。此页面通过 Javascript 进行了大量修改,因此您在浏览器中看到的内容并不代表 Scrapy 收到的内容。

xpath 结果:

>>> response.xpath('//span[contains(@class, "inline-b")]') 
[] 
>>> response.xpath('//span[contains(@class, "height-100")]') 
[]