Python Scrapy-代码审查和有关项目、装载机和管道的问题
我想刮一个网站(50+)都是一个类似的性质,但会有稍微不同的信息在每个数量。最终,这将进入一个数据库,但我还想导出到csv 所以我想做的是,在每个网站上设置一个模板——基本上,设置所有可能的字段来搜索。但是,每个字段并不适用于每个网站。因此,在这些情况下,我希望数据以与“完美站点”(包含所有字段的站点!)相同的格式进行刮取,对于不适用的站点,只保留空格 以下是我的档案: Items.pyPython Scrapy-代码审查和有关项目、装载机和管道的问题,python,web-scraping,scrapy,Python,Web Scraping,Scrapy,我想刮一个网站(50+)都是一个类似的性质,但会有稍微不同的信息在每个数量。最终,这将进入一个数据库,但我还想导出到csv 所以我想做的是,在每个网站上设置一个模板——基本上,设置所有可能的字段来搜索。但是,每个字段并不适用于每个网站。因此,在这些情况下,我希望数据以与“完美站点”(包含所有字段的站点!)相同的格式进行刮取,对于不适用的站点,只保留空格 以下是我的档案: Items.py import scrapy class ProjectItem(scrapy.Item): nam
import scrapy
class ProjectItem(scrapy.Item):
name = scrapy.Field()
address1 = scrapy.Field()
address2 = scrapy.Field()
address3 = scrapy.Field()
city = scrapy.Field()
random1 = scrapy.Field()
random2 = scrapy.Field()
random3 = scrapy.Field()
Spider.py
from scrapy.spiders import Spider
from Projct.items import ProjectItem
from scrapy.http import request
class MySpider(Spider):
name = "ENTER NAME"
allowed_domains = ["ENTER ALLOWED DOMAINS"]
start_urls = ["ENTER START URL"]
def parse(self, response):
''' Selectors '''
name = response.xpath('ENTER XPATH').extract()
address1 = response.xpath('').extract()
address2 = response.xpath('').extract()
address3 = response.xpath('').extract()
city = response.xpath('').extract()
random1 = response.xpath('').extract()
random2 = response.xpath('').extract()
random3 = response.xpath('').extract()
''' Items '''
html = response.xpath('ENTER ALL HTML XPATH').extract()
for html in htmls:
item = ProjectItem()
item["name"] = name
item["address1"] = address1
item["address2"] = address2
item["address3"] = address3
item["city"] = city
item["random1"] = random1
item["random2"] = random2
item["random3"] = random3
yield item
目前我有三个主要问题:
希望这是有道理的,任何其他关于这一点的一般性评论都将不胜感激 对于代码审查,@Maverick您最终找到了答案吗?你能总结一下你的经验吗?对于代码审查,@Maverick,你最终找到答案了吗?你能谈谈你的经历吗?