python-2.7 - 我们可以在相同的代码中编写另一个解析方法来解析来自新生成的 url 的数据......?
问题描述
这是我的解析方法,它为我提供了 URL 列表,但在解析函数中,我想从我生成的另一个名为 parse_url 的 url 中提取数据?怎么做...?我对scrapy很陌生...请帮助我
def parse(self, response):
base_url = "https://indiankanoon.org/"
urlList=response.xpath('//div[@class="result_title"]/a/@href').extract()
print("*********************Inside parse********************")
time.sleep(5)
for url in urlList:
sepList = url.split('/')
parse_url =base_url + 'doc' + '/' + sepList[2] + '/'
fname=sepList[2]
print('New Urls : {}\n The saved file name : {}.json'.format(parse_url, fname))
for quote in response.css('div.judgments'):
with open('datafile.json','w') as jfile:
jfile.write(json.dumps({
'Court': quote.css('div.docsource_main::text').extract(),
'title': 'quote.xpath("//div[@class='judgments']/div[@class='doc_title']/text()").extract_first(),
'subTitle': quote.css("div.judgments::text").extract_first(),
'P_tags': quote.xpath("//div[@class='judgments']/p/text()").extract(),
'Pre_tags': quote.xpath("//div[@class='judgments']/pre/text()").extract(),
'blocked_quote': quote.xpath("//div[@class='judgments']/blockquote").extract()
}))
enter code here
解决方案
您可以scrapy.Request(parse_url, callback=self.parse_result)
按照此处所述使用。parse_result
在获得可以继续抓取的新响应后调用。
推荐阅读
- python - 处理空文件
- laravel - 由于更改 URL 矩阵 Laravel 导致上传能力丢失
- google-cloud-platform - 使用无服务器 VPC 连接器连接到 Cloud Run 服务时出现 403
- python - 使用 apache 气流将 Spark 作业结果加载到 BigQuery 时出错
- python - tk.Frame() 的背景被 tk.Label() 背景覆盖
- javascript - 是否有可以将属性用作枚举索引的 Javascript 数据结构?
- python - 如何让 continue 语句进入最外层循环?
- python - 在另一个只有 main 方法的模块中创建实例无缘无故地失败
- rust - 使用 Pest.rs,如何将捕获添加到树中?
- python - 为什么数据排序值返回无?