gpt4 book ai didi

javascript - 用于 JavaScript 生成的 URL 的 Python Web 爬虫

转载 作者:行者123 更新时间:2023-11-30 16:33:17 25 4
gpt4 key购买 nike

我正在尝试使用一些 Python 网络爬虫从网站下载大约 3000 个 PDF。但是,这些 PDF 的 URL 是由 JavaScript 函数生成的。所以,我想知道是否有关于如何实现这一目标的任何教程?

例如,链接到 Alberto European Hairspra​​y (Aerosol) - All Variants 的 URL 将在点击 onclick="javascript:__doPostBack('ctl00$placeBody$gridView $gridView','DocumentCenter.aspx?did={0}$0'.所以问题是如何让网络爬虫得到计算出的URL。

function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
<tbody>
<tr>
<td>
<input type="image" src="App_Graphics/PDFDocument.gif" alt="MSDS" onclick="javascript:__doPostBack(&#39;ctl00$placeBody$gridView$gridView&#39;,&#39;DocumentCenter.aspx?did={0}$0&#39;);return false;" />
</td>
<td><a href="javascript:__doPostBack(&#39;ctl00$placeBody$gridView$gridView&#39;,&#39;MSDSDetail.aspx?did={0}$0&#39;)">Alberto European Hairspray (Aerosol) - All Variants</a>
</td>
<td>Unilever PLC</td>
<td>8131-01</td>
</tr>
<tr class="row-alternate">
<td>
<input type="image" src="App_Graphics/PDFDocument.gif" alt="MSDS" onclick="javascript:__doPostBack(&#39;ctl00$placeBody$gridView$gridView&#39;,&#39;DocumentCenter.aspx?did={0}$1&#39;);return false;" />
</td>
<td><a href="javascript:__doPostBack(&#39;ctl00$placeBody$gridView$gridView&#39;,&#39;MSDSDetail.aspx?did={0}$1&#39;)">Alberto European Mousse (Aerosol) - All Variants</a>
</td>
<td>Unilever PLC</td>
<td>8132-01</td>
</tr>
</tbody>

最佳答案

你不能。使用 JavaScript 解释器(例如 SpiderMonkey)执行代码,然后继续进行 HTML 解析。使用 Qt 的 WebKit 也是一种不错的方法,但可能速度较慢。

关于javascript - 用于 JavaScript 生成的 URL 的 Python Web 爬虫,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33027078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com