从零开始学python网络爬虫-从零开始学Python 三(网络爬虫)
本章由网络爬虫的编写来学习python。首先写几行代码抓取百度首页,提提精神,代码如下:
importurllib.request
file=urllib.request.urlopen("http://www.baidu.com")
data=file.read()
handle=open("code/python/baidu.html","wb")
handle.write(data)
handle.close()
除了第一行导入第三方包之外,我们用5行代码实现了一个简单的程序:读取百度首页并存储在本地制定文件。下面来详细介绍代码:
1.import urllib.request
urllib库是python的一个操作url功能强大的库,经常用在爬虫程序中。使用上述代码,我们便可以在程序中打开并爬取网页。
2.urllib.request.urlopen("http://www.baidu.com")
使用urlopen方法,参数为想爬取的网页。成功之后,把爬取的内容赋值给file变量。
另,读取file数据有2种方法:
file.read() //读取全部数据
file.readline()//读取一行数据
3.handle=open("code/python/baidu.html","wb")
通过open函数打开一个文件,并且以“wb”即二进制写入方式打开,然后赋值给hadle变量。需要注意首先建立对应的文件夹和文件,否则无法运行。错误如下:
Traceback (most recent call last):
File"", line 1, in fhandle=open("/code/python","wb")
FileNotFoundError: [Errno2] No such file or directory:
4.handle.write(data)
使用write()方法将data数据写入文件
5.handle.close()
关闭文件。操作完文件之后一定要记得关闭。至此,我们就把百度首页保存到了本地文件:
打开文件显示如下:
其实,上面5行代码可以精简为1行,功能不变但代码更少:
>>> importurllib.request>>>
>>> urllib.request.urlretrieve("http://www.baidu.com","code/python/baidu2.html")
('code/python/baidu2.html', )>>>
接着,让我们更进一步,用程序模拟百度搜索操作。
当我们在百度上查询时,是在输入框中输入关键字,然后点击回车,接着百度返回搜索结果。这一系列操作通过http语音描述如下:使用get方法,通过"http://www.baidu.com/s?wd="+关键字调用百度服务。明白背后原理之后,我们用python模拟搜索“逃税”的操作,代码如下:
>>> url="http://www.baidu.com/s?wd="
>>> key="逃税"
>>> key_code=urllib.request.quote(key)>>> urllib.request.urlretrieve(url+key_code,"code/python/baidu逃税.html")
('code/python/baidu逃税.html', )
打开本地文件后,发现和在百度上输入一模一样。
上面代码有个关键点:URL标准中只允许一部分ASCII字符(字母、数字),其他的比如汉字不符合标准。因此不能直接在url后面拼接汉字,需要使用quote()方法进行编码。相应的,如果需要对编码的网址进行解码,可以使用unquote()方法。
最后,以一个不完整的图片爬虫程序结束。
可以看到,我们已经拿到了图片路径,在浏览器上加上前缀"http://"就可以打开。
因此,程序逻辑如下:
循环获取网址内容->对于每个网址找到需要的图片->构造图片路径,下载到本地
具体代码请等下期内容。
从零开始学python网络爬虫-从零开始学Python 三(网络爬虫)相关推荐
- 《Python深度学习从零开始学》简介
#好书推荐##好书奇遇季#深度学习入门书<Python深度学习从零开始学>,京东当当天猫都有发售.从模型和实验入手,快速掌握深度学习技术. 业内大咖强力推荐!!!武汉大学信息管理学院教授 ...
- python ai 教学_【Python AI教学】从零开始学Python AI开发系列01
原标题:[Python AI教学]从零开始学Python AI开发系列01 欢迎开启新的旅程. 从2016年开始,AI人工智能的热潮扑面而来.而在机器学习和深度学习领域,Python位于最受欢迎的编程 ...
- python从0开始学编程课件_小白从零开始学编程(三)--python基本概念
前言 从2020年3月份开始,计划写一系列文档--<小白从零开始学编程>,记录自己从0开始学习的一些东西. 第一个系列:python,计划从安装.环境搭建.基本语法.到利用Django和F ...
- python网络爬虫工程师薪资-月薪2万的爬虫工程师,Python需要学到什么程度?
Python 爬虫学到什么样就可以找工作了? 非计算机专业,正在自学python,很多教程里提到的网站的爬虫都会写了.比如拉勾网,豆瓣,实习僧,京东,淘宝,某妹子图等等--但是因为不是计算机专业的,也 ...
- python从零开始学习网站-7天从零开始学Python
互联网高度发展的今天,相信我们都知道人工智能.数据分析.云计算.区块链等热门词汇.因此让更多的人了解到编程的巨大作用.在各种编程语言中,Python因为其简单易学.应用广泛的特点成为炙手可热的编程语言 ...
- 从零开始学习python编程-如何从零开始学python?
在众多高大上的自学指导中,尝试做一股清流,把要讲清楚的都讲清楚,除了一堆资料之外,你能在学之前就有一个非常明显的结果倾向. 本文以<小白带你学Python>为内容方向,试图在繁杂的信息里, ...
- python网络爬虫课程设计题目_山东建筑大学计算机网络课程设计《基于Python的网络爬虫设计》...
山东建筑大学计算机网络课程设计<基于Python的网络爬虫设计> 山东建筑大学 课 程 设 计 成 果 报 告 题 目: 基于Python的网络爬虫设计 课 程: 计算机网络A 院 (部) ...
- Python网络爬虫免费学
课程介绍 在过去的两年间,Python一路高歌猛进,成功窜上"最火编程语言"的宝座.惊奇的是使用Python最多的人群其实不是程序员,而是数据科学家,尤其是社会科学家,涵盖的学科有 ...
- 编程软件python怎样开始学-Python 3.7从零开始学
1.jpg (79.79 KB, 下载次数: 4) 2020-2-15 15:42 上传 内容简介 本书专门针对Python新手量身编写,涵盖Python 3实际开发的重要知识点,内容包括:Pytho ...
最新文章
- [20170914]tnsnames.ora的管理.txt
- 跨域请求之JSONP
- 这应该是脑结构、脑工作原理最详细的图解了
- php 标点符号反转,PHP删除标点符号(无破折号)
- 加载程序中数据库账号密码加密策略wallet_04
- 1134 Vertex Cover
- Go 基本语法之变量遮蔽问题
- 计算机网络相关词汇,计算机网络英语词汇
- Python3的对象和类
- 苹果手机上怎么打开html,苹果手机信息怎么打开浏览器
- 美团点评2020校园招聘-安全工程师热招!
- Android 音视频采集与软编码总结
- 透过现象看本质-IT程序员成长及管理
- 2022年考个中级会计有多难?多地财政局紧急官宣取消延考
- 下载微信账单用于分析
- Java基础8顺序语句判断语句
- 微软账号被锁定后的记录历程(已永久封禁)
- c++ Lake Counting
- 计算机里的扫雷游戏,电脑扫雷游戏怎么玩
- DPlayer播放m3u8
热门文章
- LSM树——放弃读能力换取写能力,将多次修改放在内存中形成有序树再统一写入磁盘,查找复杂度O(k*log(n)),结合bloom filter提高查找性能...
- 【转】性能监控 -- 应用服务器常见监控指标
- Web前端JQuery面试题(三)
- 利用目录服务器实现单点登录
- 程序员 - 爱的表白
- JS输入框统计文字数量
- 【TFS】TFS2015链接TFS出现TF31002/TF400324问题解决方案
- Oracle错误 1053: 该服务没有响应启动或控制请求
- Spark和Scala当中的collect方法的用法和例子
- windows修改环境变量神器—Rapid Environment Editor