繁体   English   中英

Python/Requets/Beautiful Soup 基本刮痧

[英]Python/Requets/Beautiful Soup Basic Scrape

希望你们一切都好。 我今天早些时候写了一个 HTML 站点的基本 webscrape,沿着类似的路线。 我正在学习教程,正如您可以通过我的代码看到的那样,我对 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())

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM