本章由网络爬虫的编写来学习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 三(网络爬虫)相关推荐

  1. 《Python深度学习从零开始学》简介

    #好书推荐##好书奇遇季#深度学习入门书<Python深度学习从零开始学>,京东当当天猫都有发售.从模型和实验入手,快速掌握深度学习技术. 业内大咖强力推荐!!!武汉大学信息管理学院教授 ...

  2. python ai 教学_【Python AI教学】从零开始学Python AI开发系列01

    原标题:[Python AI教学]从零开始学Python AI开发系列01 欢迎开启新的旅程. 从2016年开始,AI人工智能的热潮扑面而来.而在机器学习和深度学习领域,Python位于最受欢迎的编程 ...

  3. python从0开始学编程课件_小白从零开始学编程(三)--python基本概念

    前言 从2020年3月份开始,计划写一系列文档--<小白从零开始学编程>,记录自己从0开始学习的一些东西. 第一个系列:python,计划从安装.环境搭建.基本语法.到利用Django和F ...

  4. python网络爬虫工程师薪资-月薪2万的爬虫工程师,Python需要学到什么程度?

    Python 爬虫学到什么样就可以找工作了? 非计算机专业,正在自学python,很多教程里提到的网站的爬虫都会写了.比如拉勾网,豆瓣,实习僧,京东,淘宝,某妹子图等等--但是因为不是计算机专业的,也 ...

  5. python从零开始学习网站-7天从零开始学Python

    互联网高度发展的今天,相信我们都知道人工智能.数据分析.云计算.区块链等热门词汇.因此让更多的人了解到编程的巨大作用.在各种编程语言中,Python因为其简单易学.应用广泛的特点成为炙手可热的编程语言 ...

  6. 从零开始学习python编程-如何从零开始学python?

    在众多高大上的自学指导中,尝试做一股清流,把要讲清楚的都讲清楚,除了一堆资料之外,你能在学之前就有一个非常明显的结果倾向. 本文以<小白带你学Python>为内容方向,试图在繁杂的信息里, ...

  7. python网络爬虫课程设计题目_山东建筑大学计算机网络课程设计《基于Python的网络爬虫设计》...

    山东建筑大学计算机网络课程设计<基于Python的网络爬虫设计> 山东建筑大学 课 程 设 计 成 果 报 告 题 目: 基于Python的网络爬虫设计 课 程: 计算机网络A 院 (部) ...

  8. Python网络爬虫免费学

    课程介绍 在过去的两年间,Python一路高歌猛进,成功窜上"最火编程语言"的宝座.惊奇的是使用Python最多的人群其实不是程序员,而是数据科学家,尤其是社会科学家,涵盖的学科有 ...

  9. 编程软件python怎样开始学-Python 3.7从零开始学

    1.jpg (79.79 KB, 下载次数: 4) 2020-2-15 15:42 上传 内容简介 本书专门针对Python新手量身编写,涵盖Python 3实际开发的重要知识点,内容包括:Pytho ...

最新文章

  1. [20170914]tnsnames.ora的管理.txt
  2. 跨域请求之JSONP
  3. 这应该是脑结构、脑工作原理最详细的图解了
  4. php 标点符号反转,PHP删除标点符号(无破折号)
  5. 加载程序中数据库账号密码加密策略wallet_04
  6. 1134 Vertex Cover
  7. Go 基本语法之变量遮蔽问题
  8. 计算机网络相关词汇,计算机网络英语词汇
  9. Python3的对象和类
  10. 苹果手机上怎么打开html,苹果手机信息怎么打开浏览器
  11. 美团点评2020校园招聘-安全工程师热招!
  12. Android 音视频采集与软编码总结
  13. 透过现象看本质-IT程序员成长及管理
  14. 2022年考个中级会计有多难?多地财政局紧急官宣取消延考
  15. 下载微信账单用于分析
  16. Java基础8顺序语句判断语句
  17. 微软账号被锁定后的记录历程(已永久封禁)
  18. c++ Lake Counting
  19. 计算机里的扫雷游戏,电脑扫雷游戏怎么玩
  20. DPlayer播放m3u8

热门文章

  1. LSM树——放弃读能力换取写能力,将多次修改放在内存中形成有序树再统一写入磁盘,查找复杂度O(k*log(n)),结合bloom filter提高查找性能...
  2. 【转】性能监控 -- 应用服务器常见监控指标
  3. Web前端JQuery面试题(三)
  4. 利用目录服务器实现单点登录
  5. 程序员 - 爱的表白
  6. JS输入框统计文字数量
  7. 【TFS】TFS2015链接TFS出现TF31002/TF400324问题解决方案
  8. Oracle错误 1053: 该服务没有响应启动或控制请求
  9. Spark和Scala当中的collect方法的用法和例子
  10. windows修改环境变量神器—Rapid Environment Editor