# 本函数是针对英文网页第1246789栏目第1级目录进行相应解析
def get_eurls(self, response):
#定义一个列表,分别统计九种英语新闻的对应的页面数
eurl_list = response.selector.xpath('//ul[@class="txtlist clearfix"]/li/div/a/@href').extract()
domain_name = 'http://news.tsinghua.edu.cn'
for path in eurl_list:
yield scrapy.Request(
url=domain_name+path,
callback=lambda response, url=domain_name+path:self.e_parse(response, url)
)
# 本函数是针对英文网页第1246789栏目网页进行相应解析
def e_parse(self, response, url):
在以上的实例中e_parse函数的调用即可得出传参规律,不需要自定义参数的代码如下
def start_requests(self):
url_list = [9670, 9671, 9673, 9675, 9676, 9677, 9678]
page_num_list = [68, 249, 109, 24, 36, 18, 136]
for index, i in enumerate(url_list):
for j in range(2, page_num_list[index] + 1):
yield scrapy.Request(
url='http://news.tsinghua.edu.cn/publish/thunewsen/{}/index_{}.html'.format(i, j),
callback=self.get_eurls
)
# 本函数是针对英文网页第1246789栏目第1级目录进行相应解析
def get_eurls(self, response):