用python写网络爬虫-下载网页
来源:互联网 发布:vim c语言配置 编辑:程序博客网 时间:2024/05/18 02:00
开始学写爬虫啦,但是刚看书开头说本书以python2.7为案例讲解,很多模块未适配到python3.x,不过我看这本书的时候发现他说的很多没适配的模块基本都适配过来了,所以就决定用python3.6来写,正好体会下3和2的差别
1.首先python3中的urllib2模块和urllib模块合并,2中使用urllib2.xxx替换为使用urllib.request.xxx即可
import urllib.request import urllib.errorimport redef 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.errorimport redef 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 contentdef 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)
为两个函数分别增加了一种错误类型判断以及运行过程提示增加了用户代理,防止部分网页阻止访问的情况发生
阅读全文
1 1
- 用python写网络爬虫-下载网页
- 《用python写网络爬虫》--网页抓取方法
- 用python写网络爬虫
- 用Python写网络爬虫
- 网络爬虫下载网页
- 用python写的多线程网页爬虫
- python 用爬虫写网页测试
- python 网络爬虫(三) 多线程,gzip加速,网页下载
- 读书笔记--用Python写网络爬虫01--网络爬虫简介
- 用python写网络爬虫-1.网络爬虫简介
- 用python写网络爬虫读书笔记 第一章网络爬虫简介
- 用Python写一个网络爬虫爬取网页中的图片
- 用python 写网络爬虫 学习笔记
- 《用python写网络爬虫》笔记1
- 《用python写网络爬虫》笔记2
- 用python写网络爬虫笔记
- 《用python写网络爬虫》笔记3
- 《用python写网络爬虫》第一章
- 单点登录——用户中心大致流程
- HDOJ-2066 解题报告
- HDU1863 畅通工程 prim模板
- 笔记本开启wifi,受限的原因
- 使用LinkedList实现栈数据结构特点的容器和队列数据结构特点的容器
- 用python写网络爬虫-下载网页
- Highways
- GPU编程自学6 —— 函数与变量类型限定符
- 算法九
- 给年轻人工作与职业发展的建议
- Java Arrays.sort和Collections.sort的简洁写法
- Python While循环语句 Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为: while 判断条件:
- SQL查询和优化(四)
- <8/5>集训日记