微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在python中使用beautifulsoup或任何其他刮刀刮取检查过的元素?

如何解决如何在python中使用beautifulsoup或任何其他刮刀刮取检查过的元素?

我正在编写一个抓取程序。我首先使用 selenium 来获取元素的源(一个 mp4 文件),然后我看到 selenium 主要用于自动化和测试,而不是抓取。我认为使用其他刮板模块会更合理。但是当我使用 requests+beautifulsoupurllib2/3+beautifulsoup 时,我无法获得检查元素。他们正在获取页面代码,但在我正在工作的网页中,页面代码与我检查时弹出的 HTML 不同。 (我不太了解检查和页面源之间的区别,但我想这与 JS 有关系。)有什么想法可以解决这个问题吗? 这是我的代码

from  bs4 import  BeautifulSoup

import  requests

response = requests.get("https://animefrenzy.org/stream/one-piece-episode-974")

soup = BeautifulSoup(response.text,"lxml")

print(soup)

这是我想要的 html 字符串: Inspect

这是我执行上述代码时得到的结果: terminal result

解决方法

如果您只想要 HTML(源代码),那么这里是获取它的代码。

from selenium import webdriver
import time

driver = webdriver.Firefox/Chrome(executable_path=r'/path/to/webdriver')

driver.get('https://animefrenzy.org/stream/one-piece-episode-974')
time.sleep(10)
html=driver.page_source
print(html)

这应该给你你想要的 HTML,我们使用 time.sleep(10) 因为页面必须加载 javascript 并更改页面的内容。如果您没有得到想要的 HTML,请尝试将睡眠时间更改为更多,以便该页面完全加载。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?