Откройте веб-страницу и верните словарь ссылок на этой странице.
-6
0
Я хотел написать функцию, которая открывает веб-страницу и возвращает словарь всех ссылок и их текст на этой странице. Я пытался это сделать, но это дало мне ошибку. Что я могу сделать?
def process(url):
myopener = MyOpener()
#page = urllib.urlopen(url)
page = myopener.open(url)
text = page.read()
page.close()
пример ввода
<a href='http://my.computer .com/some/file.html'>link text</a>
вывод
{"http://my.computer.com/some/file.html":link text.."}
спросил(а)
2015-10-31T06:17:00+03:00
5 лет, 2 месяца назад
добавить комментарий
пожаловаться
60
Добро пожаловать в Stack Overflow,
Вы не показали, что делает MyOpener
, поэтому я использовал свое. Этот код использует Python 3 и парсер Beautiful Soup 4 HTML (личный фаворит) в статье в Википедии Python.
root_url = "https://en.wikipedia.org"
html_string = retrieve_webage(root_url + "/wiki/Python_%28programming_language%29")
soup = BeautifulSoup(html_string)
output = {}
# Can redefine soup here to parse only a certain part of the page
for link in soup.find_all('a'):
linkhref = link.get('href')
if not linkhref:
# Ingnore blank hyperlinks
pass
elif linkhref[0] == '/':
# Add root url to relitive links
linkhref = root_url + linkhref
output[linkhref] = link.text
Этот скрипт будет перезаписывать любые ссылки с одинаковыми атрибутами href
когда он читает их на странице. Вы можете узнать больше о Красивом супе здесь.
Если у вас есть вопросы, напишите ниже
ответил(а)
2015-10-31T12:05:00+03:00
5 лет, 2 месяца назад
добавить комментарий
пожаловаться
Ваш ответ