5
我想在Scrapy中編寫程序以打開鏈接並從此標記收集數據:<p class="attrgroup"></p>
。讓Scrapy跟隨鏈接並收集數據
我設法讓Scrapy收集來自給定URL的所有鏈接,但不遵循它們。任何幫助非常感謝。
我想在Scrapy中編寫程序以打開鏈接並從此標記收集數據:<p class="attrgroup"></p>
。讓Scrapy跟隨鏈接並收集數據
我設法讓Scrapy收集來自給定URL的所有鏈接,但不遵循它們。任何幫助非常感謝。
你需要得到Request
實例的鏈接可循,分配一個回調和提取所需p
元素的回調文字:
# -*- coding: utf-8 -*-
import scrapy
# item class included here
class DmozItem(scrapy.Item):
# define the fields for your item here like:
link = scrapy.Field()
attr = scrapy.Field()
class DmozSpider(scrapy.Spider):
name = "dmoz"
allowed_domains = ["craigslist.org"]
start_urls = [
"http://chicago.craigslist.org/search/emd?"
]
BASE_URL = 'http://chicago.craigslist.org/'
def parse(self, response):
links = response.xpath('//a[@class="hdrlnk"]/@href').extract()
for link in links:
absolute_url = self.BASE_URL + link
yield scrapy.Request(absolute_url, callback=self.parse_attr)
def parse_attr(self, response):
item = DmozItem()
item["link"] = response.url
item["attr"] = "".join(response.xpath("//p[@class='attrgroup']//text()").extract())
return item
,我怎麼能收集到的數據存儲在.csv文件例?我試過這個:scrapy抓取dmoz -o items.csv -t csv但我得到的只是一個空文件。 –
@ArkanKalu當然,你需要從'parse_attr()'中產生/返回項目。這只是一個示例代碼,供您繼續。 – alecxe
你能寫下那行代碼嗎?對不起,打擾你,我在這個初學者:D –