我正试图用python从一个网站上抓取数据,负载是正确的,一切都正常,但当我得到网站的响应时,通常是html页面的源代码,我只得到一个写有一些错误的脚本标记
b'<script language="JavaScript">nerr = "";nlargeur = 1024;nif (screen.width>largeur) { document.location.href="accueil.php?" +err;t}nelse { document.location.href="m.accueil.php?largeur=" +screen.width +'&' +err;t}n</script>'
信息:
看了这个网站后,它似乎使用了谷歌分析,我真的不知道它是什么,但可能是因为预览的原因,它无法加载页面,因为我没有通过导航器访问它。
您使用什么工具进行webscrape?像漂亮汤这样的工具解析预先加载的HTML内容。如果一个网站使用客户端呈现和JavaScript来加载内容,通常HTML解析器将无法运行。
你可以使用一个自动浏览器,像普通用户一样与网站交互。这些自动化浏览器可以在有或没有GUI的情况下运行。在没有GUI的情况下运行的自动浏览器(也称为无头浏览器(比使用GUI运行的浏览器占用的时间和资源更少。下面是一个相当详尽的列表,列出了您可以使用的无头浏览器。请注意,并不是所有的都与Python兼容。
正如Buran在评论中提到的,Selenium是一个选项。Selenium有很好的文档记录,并且有大量的社区追随者,所以很容易找到有用的文章或教程。它是一个多驱动程序,因此可以运行不同类型的浏览器(firefox、chrome等(,无论是无头浏览器还是GUI浏览器。