此篇文章继续跟着小甲鱼的视频来初学网络爬虫,除了小甲鱼的网站上可下载视频,发现b站上也有全套的视频哦,会比下载来的更方便些。
网络爬虫,又称为网页蜘蛛(WebSpider),非常形象的一个名字。如果你把整个互联网想象成类似于蜘蛛网一样的构造,那么我们这只爬虫,就是要在上边爬来爬去,顺便获得我们需要的资源。我们之所以能够通过百度或谷歌这样的搜索引擎检索到你的网页,靠的就是他们大量的爬虫每天在互联网上爬来爬去,对网页中的每个关键词进行索引,建立索引数据库。在经过复杂的算法进行排序后,这些结果将按照与搜索关键词的相关度高低,依次排列。
1 urllib模块
urllib模块实际上是综合了url和lib的一个包。
url的一般格式为:
protocol://hostname[:port]/path/[;parameters][?query]#fragmentURL 由三部分组成:
第一部分是协议:http,https,ftp,file,ed2k…
第二部分是存放资源的服务器的域名系统或IP地址(有时候要包含端口号,各种传输协议都有默认的端口,如http的默认端口是80)
第三部分是资源的具体地址,如目录或者文件名等
举一个例子说明:
import urllib.request response = urllib.request.urlopen("http://www.fishc.com") html = response.read() print(html) #二进制数据 html = html.decode('utf-8') #对二进制数据解码 print(html)当遇到不了解的模块时,可通过IDLE中Help中打开Python的文档进行搜索查看,也可以使用print(模块名.__doc__)或者help(模块名)进行属性和使用方法的查看。如下为文档中urlopen的用法:

实例1:在placekitten网站下载一只猫的图片
import urllib.request response = urllib.request.urlopen("upload/201711241008438488.jpg','wb') as f: f.write(cat_img)可看到在当前运行目录下已成功下载了图片。
urlopen的url参数既可以是字符串也可以是一个request对象,则我们还可以将代码写成如下形式:
import urllib.request req = urllib.request.Request("upload/201711241008447643.jpg','wb') as f: f.write(cat_img)实例2:利用百度翻译进行翻译
小甲鱼的视频中的实例是有道翻译,运行结果如下:


