我需要对网站的数据进行解析。解析之后,必须将数据保存到磁盘上。我正在使用scrapy。工作时,我需要从另一个页面获取数据。我如何才能做到这一点?
class MySpider(scrapy.Spider):
name = "my_spyder"
start_urls = [
'https://www.example.com/title/1',
'https://www.example.com/title/2',
'https://www.example.com/title/3',
]
def parse(self, response):
item = MyItem()
main_page_selector = Selector(response)
...
tagline_url = os.path.join(response.url, 'taglines')
request = Request(url=tagline_url, callback=get_tags)
item['tags'] = yield request
...
yield item
def get_tags(self, response):
tagline_selector = Selector(response)
taglines = []
for tag in tagline_selector.xpath('//div[@class="soda even"))]/text()').getall():
taglines.append(tag.strip())
return taglines
如何在'get_tags'函数中接收到的'item'字段中写入'tags'?这些请求是异步执行的。
request = Request(url=tagline_url, callback=get_tags)
request.meta["item"] = item
yield request
以上是关于解析方法的代码
item = response.meta["item"]
#...
item["tags"] = taglines
yield item
get_tags方法中的第二段代码。