我使用scrapy(Python)从http://www.heteropharmacy.com/outlets.html获取所有地址。城市/城镇下拉列表包含许多城市。每当我选择一个城市时,都会显示新地址。在
但是,服务器没有请求。我在Chrome中使用了firebug-Lite和开发工具。没有向服务器发出POST/GET请求。在
当我查看源代码时,我发现:
<script src="jScript/myScript.js" type="text/javascript"></script>
当“jScript”时/myScript.js”被单击,我将被重定向到http://www.heteropharmacy.com/jScript/myScript.js。这个源代码是一个javascript文件,在下拉框中包含所有城市的所有地址。这些地址在数组中。在
我的问题是如何获得这个javascript代码的html代码,以便使用scrapy提取它。或者我可以直接从javascript文件中提取,我会很感激所有可能的解决方案,并且愿意使用任何API而不仅仅是蹩脚的。在
我在互联网上搜索了很多,我只能为那些向服务器发出请求的情况找到解决方案。在
最好的方法就是使用beauthoulsoup。首先,转换原始数据myScript.js文件到HTML中。您可以使用这个HTML文件来创建soup。在
创建soup之后,使用regex提取所需的数据。 假设你的HTML是在HTML文档中
“script”将包含一个可以使用regex解析的javascript文件字符串。希望这有帮助。在
我将提取Javascript代码并使用一些库来执行JS代码并从中检索结果,因为正如我所看到的,代码将生成一个JS数组,您可以提取它。在
也许这个用Python运行JS代码的库可以帮上忙 https://pypi.python.org/pypi/PyExecJS
这里有多种选择:
slimit
-example here)如果您选择使用正则表达式,下面是如何制作州/gt;药店列表的字典:
印刷品:
^{pr2}$相关问题 更多 >
编程相关推荐