此问题是How to get contents of HTML Script tag
的扩展我正在使用custom_parse方法为解析方法中报废的URl集合中的每个URL抓取地理位置。
def parse(self, response)
...
...
for i in range(len(url)):
yield Request(url[i], callback=self.custom_parse)
time.sleep(3)
def custom_parse(self, response):
items = MyItem()
tree = Selector(response)
script = tree.xpath('//script/text()').extract()[3]
info = json.loads(script)
items['address'] = info['address']['streetAddress']
items['city'] = info['address']['addressLocality']
items['state'] = info['address']['addressRegion']
items['latitude'] = info['geo']['latitude']
items['longitude'] = info['geo']['longitude']
items['phone_number'] = info['telephone']
df = pd.DataFrame([item],columns=item.keys())
yield items
custom_parse将为每个URL执行并生成项目或返回df(如果我返回df而不是让步项目)。
但是如何将其合并为一个数据框(其中每一行对应于相应URL的地理信息)。
同样,如果数据帧不是我的选择,我如何将从多个URL产生的响应写入单个文件。