可以从Python中的Inspect元素中删除HTML吗?

2024-09-28 17:23:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图刮一个网站,试图阻止刮。通过Chrome、requests或requests\uHTML查看源代码会导致显示的源代码不正确

以下是一个例子:

from requests_html import HTMLSession

session = HTMLSession()

content = session.get('website')

content.html.render()

print(content.html.html)

它给出了本页: 您的浏览器似乎禁用或不支持JavaScript

即使启用了Javascript。在实际的浏览器上也会发生同样的事情

然而,在我的实际浏览器上,当我去检查元素时,我可以很好地看到源代码。有没有办法从inspect元素中提取HTML源代码

谢谢


Tags: fromimport元素get源代码网站sessionhtml
1条回答
网友
1楼 · 发布于 2024-09-28 17:23:54

您面临的问题是,它是一个由前端Javascript呈现的页面。在这种情况下,您需要一个支持javasacript的浏览器引擎,然后您就可以轻松地读取HTML源代码

下面是我将如何(使用selenium)实现的工作代码:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys  
from selenium.webdriver.chrome.options import Options  

chrome_options = Options()  
driver = webdriver.Chrome(chrome_options=chrome_options) 

# Ensure that the full URL path is given
URL = 'https://proper_url'

# The following step will launch a browser.
driver.get(URL)

# Now you can easily read the source HTML
HTML = driver.page_source 

您必须了解安装和设置Selenium和webdriver的详细信息Here's这是一个很好的起点

相关问题 更多 >