在Python上使用BeautifulSoup4时,为什么当我尝试打印“ <p>”元素时,结果为'None'?

编码编码器编码

我的代码是:

html_doc = "file:///C:/Users/Me/Desktop/Convert%20URL%20to%20HTML%20Link.html"
soup = BeautifulSoup(html_doc, "html.parser")


print(soup.p)

使用其他soup.a / p / title,即使我确定HTML文档中应该包含这些元素中的任何一个,也将导致None。

这是指向HTML文档的实际URL链接:https : //www.textfixer.com/html/convert-url-to-html-link.php

鲁里马

假设html是您下载的目录中的文件。

必须先打开文件,然后阅读然后抓取:

示例如下:

from bs4 import BeautifulSoup

file_dir = "C:/Users/Me/Desktop/Convert URL to HTML Link.html"

with open (file_dir , "r") as files_f:
    content = files_f.read()
files_f.close()
soup = BeautifulSoup(content, 'html.parser')
selections_p = soup.find_all("p")

print(selections_p )

如果您要从某个网站抓取,则应先请求该页面,然后再抓取:

import requests
from bs4 import BeautifulSoup

with requests.session() as s_request:
    url_to_scrape  = 'https://www.textfixer.com/html/convert-url-to-html-link.php'
    request_page = s_request.get(url_to_scrape)

    soup = BeautifulSoup(request_page.content, 'html.parser')
    soup = BeautifulSoup(content, 'html.parser')
    selections_p = soup.find_all("p")
    print(selections_p)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

当我在列表中打印出append()函数时,为什么我的输出是None None None而不是3 3 3

在Python中打印元组列表结果为[None,None,None]

Django,访问QuerySet结果项目时,GenericForeignKey为None?

Python(None)为None,但()不为None

当我告诉WinSCP使用Tor(sftp)时,为什么WinSCP会记录“ Proxy:None”?

为什么 numpy.where 在尝试在数组中查找 None 元素时“== None”和“is None”的行为不同?

为什么当我打印时,对于 *str 的十进制(ASCII 中的字母 P)显示为 80?

我的 pyhon 代码如果 [P2, P3, P4, P5] 是 [not None, None, None, None] 它应该可以工作但不是

bs4 p 标签返回 None

为什么在使用反向操作时我的列表被赋值为“ none”?

参数为double时如何返回None?

为什么当我按Ctrl + P时没有列出我的(所有已安装的)打印机?

Python:使用 none 时出现意外结果

为什么字典在使用函数时返回 None ,而它在 Python 中返回我想要的函数

为什么Python repl为None打印不同的东西?

为什么我在beautifulsoup 中的find 方法在抓取coursera 网站时返回None?

竞赛条件如何导致p [0]在此处为None?

为什么ajax请求为dom元素的值提交“ none”?

函数返回 None,但打印结果

为什么当我在我的 p 元素中指定宽度属性时,文本不会围绕 div 元素流动?使用花车

为什么在进行递归时返回 None ?

为什么`default(None)`并不总是显示为`None`

当我尝试打印封面数组时,为什么我的输出为空?

当我尝试使用(来自 keySet())打印每个键时,为什么会得到对象地址?

Python多重处理-Pool.map的结果为None

beautifulsoup 对我尝试的任何元素都返回 None

仅当我使用 ctrl+p 打印时如何打印某些类

为什么当我尝试打印出数组元素时“ \ n”消失?

当我尝试在列表最后插入值时,它给了我 None