图解爬虫,用几个最简单的例子带你入门Python爬虫 |
您所在的位置:网站首页 › 初学盆景100例图解视频 › 图解爬虫,用几个最简单的例子带你入门Python爬虫 |
一、前言
爬虫一直是Python的一大应用场景,差不多每门语言都可以写爬虫,但是程序员们却独爱Python。之所以偏爱Python就是因为她简洁的语法,我们使用Python可以很简单的写出一个爬虫程序。本篇博客将以Python语言,用几个非常简单的例子带大家入门Python爬虫。 二、网络爬虫如果把我们的因特网比作一张复杂的蜘蛛网的话,那我们的爬虫就是一个蜘,我们可以让这个蜘蛛在网上任意爬行,在网中寻找对我们有价值的“猎物”。 首先我们的网络爬虫是建立在网络之上的,所以网络爬虫的基础就是网络请求。在我们日常生活中,我们会使用浏览器浏览网页,我们在网址栏输入一个网址,点击回车在几秒时间后就能显示一个网页。 我们可以将上面的过程类比我们的日常购物: 和老板说我要杯珍珠奶茶老板在店里看看有没有你要的东西老板拿出做奶茶的材料老板将材料做成奶茶并给你上面买奶茶的例子虽然有些不恰当的地方,但是我觉得已经能很好的解释什么是网络请求了。 简单的爬虫就是单纯的网络请求,也可以对请求的数据进行一些简单的处理。Python提供了原生的网络请求模块urllib,还有封装版的requests模块。相比直线requests要更加方便好用,所以本文使用requests进行网络请求。 3.1、爬取一个简单的网页在我们发送请求的时候,返回的数据多种多样,有HTML代码、json数据、xml数据,还有二进制流。我们先以百度首页为例,进行爬取: import requests # 以get方法发送请求,返回数据 response = requests.get('http://www.baidu.com') # 以二进制写入的方式打开一个文件 f = open('index.html', 'wb') # 将响应的字节流写入文件 f.write(response.content) # 关闭文件 f.close()下面我们看看爬取的网站打开是什么样子的: 这就是我们熟悉的百度页面,上面看起来还是比较完整的。我们再以其它网站为例,可以就是不同的效果了,我们以CSDN为例:
首先我们需要明确一点,在爬取一些简单的网页时,我们爬取图片或者视频就是匹配出网页中包含的url信息,也就是我们说的网址。然后我们通过这个具体的url进行图片的下载,这样就完成了图片的爬取。我们有如下url:https://img-blog.csdnimg.cn/2020051614361339.jpg,我们将这个图片url来演示下载图片的代码: import requests # 准备url url = 'https://img-blog.csdnimg.cn/2020051614361339.jpg' # 发送get请求 response = requests.get(url) # 以二进制写入的方式打开图片文件 f = open('test.jpg', 'wb') # 将文件流写入图片 f.write(response.content) # 关闭文件 f.close()可以看到,代码和上面网页爬取是一样的,只是打开的文件后缀为jpg。实际上图片、视频、音频这种文件用二进制写入的方式比较恰当,而对应html代码这种文本信息,我们通常直接获取它的文本,获取方式为response.text,在我们获取文本后就可以匹配其中的图片url了。我们以下列http://topit.pro为例: import re import requests # 要爬取的网站 url = 'http://topit.pro' # 获取网页源码 response = requests.get(url) # 匹配源码中的图片资源 results = re.findall(" |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |