Как собирать элементы в Beautiful Soup? - PullRequest
1 голос
/ 03 июля 2019

Я пытаюсь сделать веб-скребок с красивым супом, но каждый раз, когда я пытаюсь почистить веб-сайт, я ничего не получаю обратно. В следующем коде я использую запросы для извлечения веб-сайта, а затем помещаю его в красивый суповый объект. После этого я пытаюсь очистить все теги.

Я попытался посмотреть учебные пособия по YouTube и посмотрел документацию по фреймворку, но я просто не понимаю, как его использовать.

from bs4 import BeautifulSoup
import bs4
import urllib

url = requests.get("https://www.rt.com/")

print(url.status_code)

soup = BeautifulSoup(url.content, 'html.parser')

soup.find_all('div')

Ответы [ 2 ]

0 голосов
/ 03 июля 2019

Прежде всего, ваш код не работает в данный момент, так как вы забыли импортировать пакет запросов. Поэтому, как только вы импортируете пакет, он будет работать.

Во-вторых, я бы рекомендовал внимательно прочитать BeautifulSoup docs . Здесь есть все ответы, которые вам нужны. Поэтому, если вам нужны все привязки на этой странице, просто присвойте их переменной, как здесь:

 elems = soup.find_all('a')

после этого вы можете работать с ним как с набором результатов, поэтому, если вам нужно извлечь ссылки из якорных элементов, вы можете сделать следующее:

for link in elems:
    print(link.get('href'))

# http://example.com/elsie
# http://example.com/lacie
# http://example.com/tillie
0 голосов
/ 03 июля 2019

Вам не хватает пакета requests, и вы ничего не делаете с результатами.

from bs4 import BeautifulSoup
import requests

url = requests.get("https://www.rt.com/")

print(url.status_code)

soup = BeautifulSoup(url.content, 'html.parser')

divs = soup.find_all('div') # save results to a variable

# Print the text inside each div (example of how to use the results)
for div in divs:
    print(div.text)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...