Python戴尔驱动程序下载

Python戴尔驱动程序下载,python,beautifulsoup,href,urllib2,Python,Beautifulsoup,Href,Urllib2,我一直在尽最大努力使用Beautifulsoup4为驾驶员获取所有dl。但是它返回我不需要的链接。我想它们不知怎么被隐藏了起来,为了我的生命,我无法把它们弄出来 是我试图废弃的页面: 驱动程序链接是由js加载的,因此通常您必须使用selenium或类似的客户端。但是,在本例中,所有驱动程序信息都是json格式的,在“text/preload”脚本标记中 from bs4 import BeautifulSoup import urllib2 import json resp = urllib2

我一直在尽最大努力使用Beautifulsoup4为驾驶员获取所有dl。但是它返回我不需要的链接。我想它们不知怎么被隐藏了起来,为了我的生命,我无法把它们弄出来

是我试图废弃的页面:


驱动程序链接是由js加载的,因此通常您必须使用
selenium
或类似的客户端。但是,在本例中,所有驱动程序信息都是json格式的,在“text/preload”脚本标记中

from bs4 import BeautifulSoup
import urllib2
import json

resp = urllib2.urlopen("http://www.dell.com/support/home/us/en/19/product-support/servicetag/1h1c5p1/drivers")
soup = BeautifulSoup(resp, 'html.parser', from_encoding=resp.info().getparam('charset'))
data = json.loads(soup.find('script', type='text/preloaded').text)

for item in data:
    print 'Name', item['driverName']
    print 'Link', item['fileFrmtInfo']['httpFileLocation']

你真的想刮哪一页?戴尔一号还是basecamp一号?很抱歉,我需要从戴尔网站下载。我在命令提示符窗口中工作。这就是为什么我的代码不容易获得的原因,所以我发布了一个我正在使用的示例。是的,我想你是对的,我记得我读过关于用Java加载它的文章。但是已经很晚了,我绞尽脑汁想有人能帮我。非常感谢您的回复,我今晚就试试。继续表现得很棒@谢谢,我会尽力的;)我本来会发布一个
selenium
解决方案,但我只是将其作为最后手段使用,这在
urlib2
中是可行的。
from bs4 import BeautifulSoup
import urllib2
import json

resp = urllib2.urlopen("http://www.dell.com/support/home/us/en/19/product-support/servicetag/1h1c5p1/drivers")
soup = BeautifulSoup(resp, 'html.parser', from_encoding=resp.info().getparam('charset'))
data = json.loads(soup.find('script', type='text/preloaded').text)

for item in data:
    print 'Name', item['driverName']
    print 'Link', item['fileFrmtInfo']['httpFileLocation']