作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试从我的 csv 文件中获取一系列国家/地区的官方语言。
我正在用 python 和 BeautifulSoup 解析页面以从维基百科获取数据(例如 https://en.wikipedia.org/wiki/"+ placeName
)。有些页面有class = 'infobox geography vcard'
作为他们的表格。我尝试用下面的代码提取,但他们都打印出'Table is null'(即使在像阿尔巴尼亚,安道尔等具有 DOM 的页面中也是如此。 .).
import requests
from bs4 import BeautifulSoup
import csv
with open('district.csv', 'r') as csv_file2:
csv_reader2 = csv.reader(csv_file2)
for line in csv_reader2:
url3 = "https://en.wikipedia.org/wiki/" + str(line)
hdr = {'User-Agent':'Mozilla/5.0'}
r1 = requests.get(url3, hdr)
soup = BeautifulSoup(r1.text, 'lxml')
table = soup.find(class_='infobox geography vcard')
result = {}
if table is not None:
for tr in table.find_all('tr'):
if tr.find('td'):
result=tr.find('td').text
else:
result = str(line) + "is Null"
else:
result = "Table is Null"
print(str(line) + result)
最佳答案
我只在阿尔巴尼亚网站上试过这个,所以检查它是否适用于其他人,但在阿尔巴尼亚的情况下,这个循环:
for i in soup.find_all('th'):
if 'Official' in i.text:
print(i.text+':',i.find_parent().find('a').text)
输出:
Official languages: Albanian
关于python - 从维基百科中的 'infobox geography vcard' 解析官方语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54498249/
我是一名优秀的程序员,十分优秀!