Python 仅下载带有urllib2的html页面

Python 仅下载带有urllib2的html页面,python,beautifulsoup,urllib2,Python,Beautifulsoup,Urllib2,我正在尝试使用urllib2和beautifulsoup在web上爬行。但我的代码内存不足,有些链接如下: 这是一个视频下载链接。当我使用urllib2.urlopen()时,它将下载视频,这不是我想要的。有没有办法只下载URL的html?如果url指向视频文件或其他文件,我基本上想跳过它,但我不知道怎么做 我的代码如下: toy_url=http://downloads.graboidvideo.com/download_filter.php?file=GraboidVideoSetup.p

我正在尝试使用urllib2和beautifulsoup在web上爬行。但我的代码内存不足,有些链接如下:

这是一个视频下载链接。当我使用urllib2.urlopen()时,它将下载视频,这不是我想要的。有没有办法只下载URL的html?如果url指向视频文件或其他文件,我基本上想跳过它,但我不知道怎么做

我的代码如下:

toy_url=http://downloads.graboidvideo.com/download_filter.php?file=GraboidVideoSetup.pkg&platform=Mac
headers = {'USER-Agent':'crawltaosof'}
req = urllib2.Request(url, None,headers)
page = urllib2.urlopen(req,timeout=0.51).read()

在使用
read()
方法之前,请考虑检查响应头。这里有一个例子

>>> import urllib2
>>>
>>> request = urllib2.Request('http://downloads.graboidvideo.com/download_filter
.php?file=GraboidVideoSetup.pkg&platform=Mac')
>>> response = urllib2.urlopen(request)
>>>
>>> print response.info().getheader('Content-Type')
application/octet-stream
>>>
>>>
>>> request = urllib2.Request('http://www.yahoo.com')
>>> response = urllib2.urlopen(request)
>>>
>>> print response.info().getheader('Content-Type')
text/html;charset=utf-8

最终,在通过web爬虫程序运行url之前,您需要针对响应头中的
内容类型
进行测试,并使用该测试确保其类型为
text\html
。如果您想了解其他
文本类型,请参阅上的这篇维基百科文章。

在使用
read()
方法之前,请考虑检查响应标题。这里有一个例子

>>> import urllib2
>>>
>>> request = urllib2.Request('http://downloads.graboidvideo.com/download_filter
.php?file=GraboidVideoSetup.pkg&platform=Mac')
>>> response = urllib2.urlopen(request)
>>>
>>> print response.info().getheader('Content-Type')
application/octet-stream
>>>
>>>
>>> request = urllib2.Request('http://www.yahoo.com')
>>> response = urllib2.urlopen(request)
>>>
>>> print response.info().getheader('Content-Type')
text/html;charset=utf-8

最终,在通过web爬虫程序运行url之前,您需要针对响应头中的
内容类型
进行测试,并使用该测试确保其类型为
text\html
。如果您想了解其他
文本类型,请参阅上的这篇维基百科文章。

最好向我们展示您的代码!最好给我们看看你的代码!