разобрать официальный язык из 'Infobox Geography Vcard' в Википедии - PullRequest
0 голосов
/ 03 февраля 2019

Привет. Я пытаюсь получить официальный язык из ряда стран в моем CSV-файле.Я разбираюсь с python, чтобы получить данные из Википедии https://en.wikipedia.org/wiki/" + placeName.У некоторых из них таблица class = 'infobox geography vcard'.Я пытаюсь извлечь следующий код, но все они выводят «Таблица пуста» (даже на страницах с 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)
...