Питон / Requets / Красивый суп Basi c Соскоб - PullRequest
0 голосов
/ 20 марта 2020

Надеюсь, у вас все хорошо. Ранее я написал базовый c веб-сайт сайта HTML аналогичным образом. Я следовал учебному пособию, и по моему коду вы сможете увидеть, что я немного похож на программирование в Python. Надеясь на небольшое руководство относительно очистки этого сайта.

Как видно из закомментированного кода,

#print(results.prettify())

Я могу успешно распечатать все содержимое страница в Интернете. Однако я хотел бы сократить содержание того, что я печатаю, так что я просто распечатываю соответствующий контент. На этой странице много контента, который мне не нужен, и я бы хотел его убрать. У кого-нибудь есть мысли о том, почему для l oop внизу кода не последовательно захватывает абзацы в блоке xlmins HTML и распечатывает его? Пожалуйста, смотрите код ниже для более.

import requests
from bs4 import BeautifulSoup

URL = "http://www.gutenberg.org/files/7142/7142-h/7142-h.htm"
page = requests.get(URL)

#we're going to create an object in Beautiful soup that will scrape it.
soup = BeautifulSoup(page.content, 'html.parser')
#this line of code takes

results = soup.find(xmlns='http://www.w3.org/1999/xhtml')
#print(results.prettify())
job_elems = results.find_all('p', xlmins="http://www.w3.org/1999/xhtml")

for job in job_elems:
    paragraph = job.find("p", xlmins='http://www.w3.org/1999/xhtml')
    print(paragraph.text.strip)

1 Ответ

1 голос
/ 20 марта 2020

Нет <p> тег содержит атрибут xlmins='http://www.w3.org/1999/xhtml', только верхний тег HTML. Удалите эту часть, и вы получите все параграфы.

job_elems = results.find_all('p')

for job in job_elems:
    print(job.text.strip())
...