我想刮一些网站(50+),这是所有类似的性质,但会有稍微不同的信息对每一个。最终,这将进入一个数据库,但我还想导出到csv。你知道吗
所以我要做的是,建立一个模板,在每个网站上使用,基本上,设置所有可能的字段,以刮到。但是,每个字段并不适用于每个网站。因此在这些情况下,我希望数据以与“完美站点”(包含所有字段的站点)相同的格式进行刮取对那些不适用的只留空格。你知道吗
以下是我的文件:
你知道吗项目.py你知道吗
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()
你知道吗蜘蛛.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
目前我有三个主要问题:
希望这是有意义的,对此的任何其他一般性评论都将不胜感激!你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐