我很抱歉,如果这是重复但我搜索了一下,什么都没发现,也许我只是不知道要搜索什么。
我认为问题会告诉你一切。
我使用Python2.7来获取网站的html。 之后我想存储一些关于该网站的数据(例如链接等)并下载该网站上的一些文件(使用python自动化)。
现在我遇到了问题,我要下载的其中一个链接有值:“javascript:void(0)”
这是我的代码:
import urllib2
response = urllib2.urlopen('http://www.japanesepod101.com/2006/01/16/survival-phrases-5-taxi/')
html = response.read()
f = open("Workfile", "w");
f.write(html)
我不想详细介绍,但在观看本网站的HTML代码时,我有这个元素:
<a class="media-download" download="" data-trackme="downloadaudio,33" href="http://media.libsyn.com/media/japanesepod101/029_S5_011606_jpod101.mp3" data-mode="audio">Download MP3<span class="download-tooltip" style="display: none;"><span class="corner"></span>Right Click & 'Save As'</span></a>
在我的文件中,该元素是这样的:
<a class="media-download" data-trackme="downloadaudio,33" href="javascript:void(0)" data-mode="audio">Download MP3</a>
如何获取文件中的链接?
对于初学者(我)与python&amp;网站看起来没有调用javascript函数(因为它没有在浏览器中打开?),是这样吗?
答案 0 :(得分:3)
您可以使用selenium来帮助加载javascript函数,然后为您提供最终的htmlpage
安装selenium
pip install selenium
这是解决方案。
from selenium import webdriver
driver = webdriver.Firefox()
driver.get('yoururl')
htmlpage = driver.page_source
outputfile = open('workfile','w')
outputfile.write(htmlpage)
outputfile.close()
driver.close()