【发布时间】:2017-12-07 06:34:39
【问题描述】:
我有一个如下的scrapy脚本
1) 将navigation_path 收集到一个列表中并调用一个新的解析
g_next_page_list = []
g_next_page_set = set()
def parse(self,response):
#code to extract nav_links
for nav_link in nav_links:
if nav_link not in g_next_page_set:
g_next_page_list.append(nav_link)
g_next_page_set.add(nav_link)
for next_page in g_next_page_list:
next_page = response.urljoin(next_page)
yield scrapy.Request(next_page, callback=self.parse_start_url, dont_filter=True, )
我将 parse_start_url 定义为:
def parse_start_url(self,response):
#code to extract nav_links
for nav_link in nav_links:
if nav_link not in g_next_page_set:
g_next_page_list.append(nav_link)
g_next_page_set.add(nav_link)
但是,主解析中的全局列表和集合 (g_next_page_set, g_next_page_list) 没有被附加。我做错了什么?
提前致谢!
【问题讨论】:
-
v_next_page_list是否与g_next_page_list相同,或者其中一个是错字?如果它们不同,请为v_next_page_list提供一些示例数据。 -
@supersam654 很抱歉造成混乱。他们是一样的,我已经更新了我原来的帖子
标签: web-scraping scrapy