Как получить URL супа представляет? - PullRequest
0 голосов
/ 18 июня 2019

Как получить URL страницы после BeautifulSoup?

res = requests.get('http://www.example.com')
soup = BeautifulSoup(res.text, 'lxml')

Как достать http://www.example.com из супа?

Ответы [ 3 ]

1 голос
/ 18 июня 2019

Попробуйте это:

soup.url = 'http://www.example.com'

После передачи soup в функцию, вы можете вызвать soup.url, чтобы получить http://www.example.com.

0 голосов
/ 18 июня 2019

Если веб-страница имеет тег link, вы можете получить URL с помощью

link = soup.find('link')
print (link['href'])

, иначе вы не сможете получить URL с помощью BeautifulSoup (если его нет ни в одном HTML-теге). В этомиспользуйте case res.url, как @Simas, как сказано выше, или используйте request.Request (фактически то же самое, что и res.url, но использование другое), например:

import requests
req = requests.Request('GET', 'http://www.example.com')
url = req.url
print (url)
0 голосов
/ 18 июня 2019

Вы можете получить URL-адрес из объекта запросов в виде:

res = requests.get('http://www.example.com')
soup = BeautifulSoup(res.text, 'lxml')
res.url

BeautifulSoup является анализатором разметки, поэтому он знает только HTML-код res.text, который вы передаете ему.Если URL-адрес веб-сайта используется где-то на веб-сайте, вы можете, однако, использовать BeautifulSoup для анализа соответствующего элемента и получения этого URL-адреса.

Это далеко не лучший подход.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...