BeautifulSoup. Не возвращает 'href' - PullRequest
0 голосов
/ 19 декабря 2018

Я работаю над созданием веб-инструмента, который будет загружать статьи в текстовые файлы.Я создал суп с помощью bs4 и вытащил определенный кусок HTML, который содержит желаемый URL для статьи, которую я хочу скачать:

>>>prevLink = soup2.select('.previous_post')
>>>prevLink
[<span class="previous_post">Previous Post: <a href="http://www.mrmoneymustache.com/2018/11/08/honey-badger-entrepreneur/" rel="prev">An Interview With The Man Who Never Needed a Real Job</a></span>]

Пока все хорошо (я думаю).Затем я пытаюсь использовать .get ('href'), чтобы извлечь ссылку, но она возвращает 'none'.

>>>print(prevLink[0].get('href'))
None

Когда я использую .get ('class'), чтобы выбрать для класса,Однако, похоже, работает.

>>> print(prevLink[0].get('class'))
['previous_post']

Я не понимаю, почему .get ('class') действует иначе, чем .get ('href').Спасибо за поиск.

1 Ответ

0 голосов
/ 19 декабря 2018

prevLink на самом деле не ссылается на ссылку, а на элемент span.

Просто углубитесь в элемент a с помощью селектора:

prevLink = soup2.select_one('.previous_post > a')
print(prevLink.get('href'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...