Python/Requets/Beautiful 汤基本刮

Python/Requets/Beautiful Soup Basic Scrape

希望你一切都好。我今天早些时候写了一个 HTML 网站的基本网络抓取,思路类似。我正在学习一个教程,正如您可以通过我的代码看到的那样,我对 Python 中的编码有点陌生。希望获得有关抓取该网站的一些指导。

从注释掉的代码可以看出,

#print(results.prettify())

我能够成功打印出网页的全部内容。然而,我想做的是削减我正在打印的内容,以便我只打印相关内容。页面上有很多我不想要的内容,我想按摩一下。有没有人想过为什么代码底部的 for 循环是 而不是 顺序抓取 HTML 的 xlmins 单元中的段落并打印出来?更多请看下面的代码。

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)

没有 <p> 标签包含属性 xlmins='http://www.w3.org/1999/xhtml',只有顶部 HTML 标签包含属性。删除该部分,您将获得所有段落。

job_elems = results.find_all('p')

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