gpt4 book ai didi

python - 将 Scrapy 请求 URL 添加到 Parsed Array 中

转载 作者:行者123 更新时间:2023-12-01 05:15:43 25 4
gpt4 key购买 nike

我正在使用以下功能齐全的 Scrapy 代码从网站上抓取数据。抓取工具输入产品 ID 的文本列表,这些 ID 会生成到第 10 行的 URL 中。如何将当前的 start_url 作为附加元素添加到我的项目数组中?

from scrapy.spider import Spider
from scrapy.selector import Selector
from site_scraper.items import SiteScraperItem

class MySpider(Spider):
name = "product"
allowed_domains = ["site.com"]
url_list = open("productIDs.txt")
base_url = "http://www.site.com/p/"
start_urls = [base_url + url.strip() for url in url_list.readlines()]
url_list.close()

def parse(self, response):
hxs = Selector(response)
titles = hxs.xpath("//span[@itemprop='name']")
items = []
item = SiteScraperItem()
item ["Classification"] = titles.xpath("//div[@class='productSoldMessage']/text()").extract()[1:]
item ["Price"] = titles.xpath("//span[@class='pReg']/text()").extract()
item ["Name"] = titles.xpath("//span[@itemprop='name']/text()").extract()
try:
titles.xpath("//link[@itemprop='availability']/@href").extract()[0] == 'http://schema.org/InStock'
item ["Availability"] = 'In Stock'
except:
item ["Availability"] = 'Out of Stock'
if len(item ["Name"]) == 0:
item ["OnlineStatus"] = 'Offline'
item ["Availability"] = ''
else:
item ["OnlineStatus"] = 'Online'
items.append(item)
return items

我使用以下命令行代码将此数据导出到 CSV,并希望该 URL 成为我的 CSV 文件中的附加值。

scrapy抓取产品-o items.csv -t csv

预先感谢您的帮助!

最佳答案

添加新的 Field到您的 SiteScraperItem Item类并将其设置为 response.urlparse() 方法中。

关于python - 将 Scrapy 请求 URL 添加到 Parsed Array 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23278087/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com