如何解决如何使用python从维基百科的信息框中检索产品和服务列表
我尝试使用 python(而不是抓取维基页面的 html)从维基数据中提取世界上所有上市公司的产品和/或服务列表。我使用了这个代码:
import json
import wptools
import wikipedia
import pandas as pd
# see https://monashdatafluency.github.io/python-web-scraping/section-3-API-based-scraping/
# and https://github.com/dahlia/wikidata
print('wptools version : {}'.format(wptools.__version__)) # checking the installed version
mycompany = "BP"
wiki_search = [{mycompany : wikipedia.search(mycompany)}]
for idx,company in enumerate(wiki_search):
for i,j in company.items():
print('{}. {} :\n{}'.format(idx+1,i,','.join(j)))
print('\n')
most_probable = [(mycompany,wiki_search[0][mycompany][0])]
companies = [x[1] for x in most_probable]
print(most_probable)
page = wptools.page(mycompany)
page.get_parse()
page.data.keys()
print("Is Products in data_keys? ",'products' in page.data['infoBox'].keys() )
print("Is Services in data_keys? ",'services' in page.data['infoBox'].keys() )
print("Is homepage in data_keys? ",'homepage' in page.data['infoBox'].keys() )
print("_______________________________________________")
print(page.data['infoBox']['products'])
print("_______________________________________________")
print(page.data['infoBox']['services'])
print("_______________________________________________")
print(page.data['infoBox']['homepage'])
然而,当我尝试做数千家公司时,我得到了非常脏的输出,而不是一个干净的逗号分隔的字符串列表......例如
{{hlist|[[石油]]|[[天然气]]|[[汽车燃料]]s|[[航空燃料]]s}}
而且情况变得更糟。输出的格式有很多种,hlists/Flatlist/Unbulleted list /etc。
你有什么推荐?什么python工具?使用 wikidata 或 dbpedia 或其他什么?
谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。