mis*_*ble 10 javascript python selenium urllib web-scraping
作为项目的一部分,我正在执行网络抓取以从网站获取数据。我可以发出请求并获取dom中存在的数据。但是,一些数据在 javascript onClick 函数上呈现。
一种方法可能是,使用 selenium 单击链接(调用 javascript 函数)并获取呈现的数据,但这个过程很耗时,我不想打开浏览器。
除了硒之外还有其他方法可以实现吗?
网址:http : //catalog.fullerton.edu/preview_entity.php?catoid=16&ent_oid=1849
在本网页的课程部分,所有课程都是超链接,只要有人点击课程,就会调用一个 javascript 方法。我需要在 javascript 函数调用后呈现的数据。
小智 6
你可以使用https://pypi.org/project/requests-html/这个库来渲染 JavaScript 内容,然后使用 beautiful soup 来解析它。
例子:
from requests_html import HTMLSession
def render_JS(URL):
session = HTMLSession()
r = session.get(URL)
r.html.render()
return r.html.text
Run Code Online (Sandbox Code Playgroud)
你不能。如果要运行 JavaScript,则需要使用无头浏览器。否则,您必须反汇编 JavaScript 并查看它的作用。
在“网络”选项卡中打开浏览器的开发人员工具时单击该元素:
您现在可以看到 JavaScript 从该 URL 下载新的 HTML。您可以使用 urllib 轻松发送相同的请求。
| 归档时间: |
|
| 查看次数: |
11379 次 |
| 最近记录: |