python - 网站不允许右键单击,网络抓取不显示正文标签之间的文本

标签 python html selenium python-requests urllib

我正在尝试通过网络抓取网页。但是,网站本身不允许右键单击功能来检查元素或页面源。另外,当我打印解析后的html文本时,结果只有body标签,并没有显示body标签内的信息。

from selenium import webdriver
import bs4 as bs
import urllib.request

driver = webdriver.Chrome(executable_path=r'PATH')
driver.get("website.com")

assert "Title" in driver.title

sauce = urllib.request.urlopen('website.com').read()

soup = bs.BeautifulSoup(sauce, 'html.parser')
print(soup)

我希望从汤中得到实际的 HTML(特别是 body 标签之间的 HTML);然而,我只得到

<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<title>Title</title>

</head>
<body></body>
</html>

我对网络抓取比较陌生;但是,我以前从未遇到过这个问题。它是特定于站点的吗?当我使用 chrome 扩展程序时,我可以允许右键单击,只有这样,我才能检查页面源代码(并且 body 标签中有 HTML 和标签)。

最佳答案

您可以尝试仅使用 Python/Selenium 获取正文标签信息,并查看页面源是否与您在问题中发布的内容有任何不同。这将有助于缩小问题范围。

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("website.com")

html = driver.page_source

print(html)

如果这产生与您在问题中发布的 HTML 相同的结果,那么问题可能出在网站本身,而不是您的代码。

关于python - 网站不允许右键单击,网络抓取不显示正文标签之间的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58193080/

相关文章:

javascript - 无法使用 Phantomjs 代码示例在 instagram.com 上截图,为什么总是黑屏?

python - 在 Python 中使用正则表达式解析 URL

Jquery点击功能不起作用

html - 缩小网页浏览器时滑出 CSS 框没有响应

HTMLQuestion 中 JavaScript 无法正确读取

selenium - 什么可能导致 UnhandledAlertException 错误?

python - Selenium firefox 仅在通过 Windows 任务计划程序运行时无法加载

python - Python内存安全吗?

Python gzip 模块在 ubyte 文件上无法按预期工作

python - 当我从文件安装 conda 软件包时如何包含 --channel ?