from selenium import webdriver
from time import sleep
driver = webdriver.Chrome("D:/chromedriver/chromedriver.exe")
driver.get("https://www.douyin.com/video/7253737735683329338")
sleep(2)
html = driver.page_source
print(html)
这是用webdriver获取的网页源代码,请问如何获取被渲染后的代码?就是这个部分
很多种方法,beautifulsoup或者xpath,都有调用案例的,
from selenium import webdriver
from bs4 import BeautifulSoup
from time import sleep
# 设置driver路径
driver = webdriver.Chrome("D:/chromedriver/chromedriver.exe")
# 打开网页
driver.get("https://www.douyin.com/video/7253737735683329338")
# 等待页面加载
sleep(2)
# 获取页面源代码
html = driver.page_source
# 使用BeautifulSoup解析页面
soup = BeautifulSoup(html, 'html.parser')
# 查找video标签
video_tags = soup.find_all('video')
# 遍历video标签并打印内容
for video in video_tags:
print(video)
# 关闭浏览器
driver.quit()
1、首先需要装chrome(谷歌浏览器)
2、下载对应的chromedriver,需要看你的谷歌浏览器的版本是那个。我的版本是95.0.4638.54
我使用的是windows,所以直接下载32位的压缩包。
下载后,将压缩包解压后获得chromedriver.exe文件,将它放到到python的安装目录下,我的是
C:\Users\admin\AppData\Local\Programs\Python\Python38-32
3、下载selenium
Python中安装selenium或者直接cmd中安装:
pip install -U selenium
4、最后一步就是测试了,参考文章开头的代码。
要获取被渲染后的网页HTML代码,可以借助Selenium库中的WebDriver来实现。下面是一个示例代码,使用WebDriver获取被渲染后的网页HTML代码:
import time
from selenium import webdriver
# 声明浏览器
browser = webdriver.Chrome()
# 打开网页
browser.get('http://example.com')
# 等待网页加载完成
time.sleep(5)
# 获取网页的渲染后的HTML代码
html = browser.execute_script("return document.documentElement.outerHTML")
# 打印渲染后的HTML代码
print(html)
# 关闭浏览器
browser.quit()
在上述代码中,我们首先声明了一个Chrome浏览器实例,并通过get()
方法打开了一个网页。然后,使用execute_script()
方法执行JavaScript代码,获取网页的渲染后的HTML代码。最后,通过print()
函数将获取到的HTML代码打印出来。
对于动态生成的内容,可以在获取渲染后的HTML代码后使用BeautifulSoup等HTML解析库来提取需要的数据。
请注意,使用Selenium库需要在你的计算机上安装对应的WebDriver,并将WebDriver的路径配置到环境变量中。WebDriver是一个特定浏览器的驱动程序,不同的浏览器需要使用不同的WebDriver。在上述示例代码中,我们使用的是Chrome浏览器,所以需要安装Chrome的WebDriver。
希望这个解决方案对你有帮助,如果还有其他问题,请随时提问。