用python写网络爬虫-下载网页
2017-08-05 21:49
639 查看
开始学写爬虫啦,但是刚看书开头说本书以python2.7为案例讲解,很多模块未适配到python3.x,不过我看这本书的时候发现他说的很多没适配的模块基本都适配过来了,所以就决定用python3.6来写,正好体会下3和2的差别
1.首先python3中的urllib2模块和urllib模块合并,2中使用urllib2.xxx替换为使用urllib.request.xxx即可
这里使用了另外一个模块叫re模块,
re.split分割含有多种分割符的字符串,返回分割后的字符串列表,直接使用-1找到网页的最后一部分名字,非常实用
这里只有一种分隔符“/”,所以这样写也可以
更新!!
1.首先python3中的urllib2模块和urllib模块合并,2中使用urllib2.xxx替换为使用urllib.request.xxx即可
import urllib.request import urllib.error import re def download(url): return urllib.request.urlopen(url).read() def save(file_name, file_content): with open(file_name.replace('/', '_') + ".html", "wb") as f: f.write(file_content) murl="http://blog.csdn.net/joliph" html = download(murl) save(re.split('/',murl)[-1], html)
这里使用了另外一个模块叫re模块,
re.split分割含有多种分割符的字符串,返回分割后的字符串列表,直接使用-1找到网页的最后一部分名字,非常实用
save(murl.split('/')[-1], html)
这里只有一种分隔符“/”,所以这样写也可以
更新!!
import urllib.request import urllib.error import re def download(url): print("downloading:"+url) headers={'User-agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'} request=urllib.request.Request(url,headers=headers) try: content=urllib.request.urlopen(request).read() except urllib.error.URLError as e: print("download error:"+e.reason) content=None return content def save(file_name, file_content): print("saving.......") try: with open(file_name + ".html", "wb") as f: f.write(file_content) except TypeError: print("TypeError") murl="http://www.budejie.com/" html = download(murl) save(re.split('/',murl)[-1], html)
为两个函数分别增加了一种错误类型判断以及运行过程提示 增加了用户代理,防止部分网页阻止访问的情况发生
相关文章推荐
- Python 网络爬虫 006 (编程) 解决下载(或叫:爬取)到的网页乱码问题
- python 网页爬虫,下载网络图片
- Python 网络爬虫 006 (编程) 解决下载(或叫:爬取)到的网页乱码问题
- Python 网络爬虫 004 (编程) 如何编写一个网络爬虫,来下载(或叫:爬取)一个站点里的所有网页
- Python 网络爬虫 004 (编程) 如何编写一个网络爬虫,来下载(或叫:爬取)一个站点里的所有网页
- Python 网络爬虫 005 (编程) 如何编写一个可以 下载(或叫:爬取)一个网页 的网络爬虫
- Python 网络爬虫 005 (编程) 如何编写一个可以 下载(或叫:爬取)一个网页 的网络爬虫
- Python 网络爬虫 009 (编程) 通过正则表达式来获取一个网页中的所有的URL链接,并下载这些URL链接的源代码
- Python 网络爬虫 009 (编程) 通过正则表达式来获取一个网页中的所有的URL链接,并下载这些URL链接的源代码
- Python实现爬虫从网络上下载文档的实例代码
- 关于python 3 和python 2的网页爬虫下载问题
- Python 爬虫5——爬取并下载网页指定规格的图片
- 使用Python编写简单网络爬虫抓取视频下载资源
- python-网络爬虫初学一:获取网页源码以及发送POST和GET请求
- python开发爬虫----urllib2下载网页方法
- 网络爬虫学习笔记———网页源码下载之get方法
- python3爬虫下载网页上的pdf
- Python3网络爬虫应用:爱奇艺等主流视频网站的VIP视频破解(在线观看+视频下载)
- 利用Python编写网络爬虫下载文章
- 使用Python编写简单网络爬虫抓取视频下载资源