Я пытаюсь написать небольшой сканер для сканирования нескольких страниц википедии.
Я хочу сделать сканирование несколько динамичным, объединяя гиперссылку для точной вики-страницы из файла, который содержит список имен.
Например, в первой строке «deutsche_Schauspieler.txt» написано «Альфред Абель», и объединенная строка будет «https://de.wikipedia.org/wiki/Alfred Абель». Использование txt-файла приведет к тому, что заголовок будет отсутствовать, но когда я завершу ссылку строкой внутри скрипта, это сработает.
Это для Python 2.x.
Я уже пытался переключиться с "на",
пробовал + вместо% s
попытался поместить всю строку в текстовый файл (чтобы первая строка читалась как «http: // ...» вместо «Альфред Абель»
попытался переключиться с "Альфред Абель" на "Альфред_Абель
from bs4 import BeautifulSoup
import requests
file = open("test.txt","w")
f = open("deutsche_Schauspieler.txt","r")
content = f.readlines()
for line in content:
link = "https://de.wikipedia.org/wiki/%s" % (str(line))
response = requests.get(link)
html = response.content
soup = BeautifulSoup(html)
heading = soup.find(id='Vorlage_Personendaten')
uls = heading.find_all('td')
for item in uls:
file.write(item.text.encode('utf-8') + "\n")
f.close()
file.close()
Я ожидаю получить содержимое таблицы "Vorlage_Personendaten", которая действительно работает, если я изменю строку 10 на
link = "https://de.wikipedia.org/wiki/Alfred Abel"
# link = "https://de.wikipedia.org/wiki/Alfred_Abel" also works
Но я хочу, чтобы он работал с использованием текстового файла