python爬虫:论一只爬虫的自我修养

爬虫:我是一只有自我修养的爬虫。

what is a 爬虫?

爬虫即网络爬虫,英文是Web Spider。

翻译过来就是网络上爬行的蜘蛛,如果把互联网看作一张大网,那么爬虫就是在大网上爬来爬去的蜘蛛,碰到想要的食物,就把他抓取出来。

每当你打开偷偷珍藏的网页,准备好纸巾,准备升华灵魂好好学习的时候,总会弹出那么几个恶心人的广告挡住了马赛克,更让你大掉纸巾的是,这些广告都与你平时的搜索内容有关??

what the *** hell?

是这样的,其实这几个很牛的互联网公司,某歌,某度,每天都用爬虫来拼命收集你的信息,
从而实现商业目的。

爬虫的存在,仿佛将所有的信息变成一个网。拼命爪巴爪巴。

当然,我们可以用爬虫来收集很多有用的东西。。。
(此时仿佛看到苍老师在向我招手。硬盘装不下了。)

那好,爬虫如何实现的呢?

提个问题:
python如何访问互联网?

url+lib

这时,py的一个模块就呼之欲出了,urllib闪亮登场。


在py3中,urllib不是一个module,而是个package,
py2中,为module,但有urllib和urllib2两个模块。

其中较重要的有request模块。
这样引入:

import urllib.request

先来说说一个简单的爬取源代码:

response=urllib.request.urlopen('https://blog.csdn.net/qq_43504939')

这是开始爬

html=response.read()//这是读取

但这个时候我们看到一大堆二进制码,
和查看网页源代码时看到的完全是不一样的,
的确,他是以这种形式运行的,
用个函数解码一下就ok。

html=html.decode('utf-8')
print(html)

这是你就可以看到爬行的源码了。

我们在浏览器中输入一个网址,敲击回车,看到网站的页面信息。这就是浏览器请求了网站的服务器,获取到网络资源。那么,爬虫也相当于模拟浏览器发送请求,获得到HTML代码。HTML代码里通常包含了标签和文字信息,我们就从中提取到我们想要的信息。

通常爬虫是从某个网站的某个页面开始,爬取这个页面的内容,找到网页中的其他链接地址,然后从这个地址爬到下一个页面,这样一直不停的爬下去,进去批量的抓取信息。那么,我们可以看出网络爬虫就是一个不停爬取网页抓取信息的程序。

爬虫的基本流程
1.发起请求:
通过HTTP库向目标站点发起请求,即发送一个Request,请求可以包含额外的headers等信息,然后等待服务器响应。这个请求的过程就像我们打开浏览器,在浏览器地址栏输入网址:www.baidu.com,然后点击回车。这个过程其实就相当于浏览器作为一个浏览的客户端,向服务器端发送了 一次请求。
2.获取响应内容:
如果服务器能正常响应,我们会得到一个Response,Response的内容便是所要获取的内容,类型可能有HTML、Json字符串,二进制数据(图片,视频等)等类型。这个过程就是服务器接收客户端的请求,进过解析发送给浏览器的网页HTML文件。
3.解析内容:
得到的内容可能是HTML,可以使用正则表达式,网页解析库进行解析。也可能是Json,可以直接转为Json对象解析。可能是二进制数据,可以做保存或者进一步处理。这一步相当于浏览器把服务器端的文件获取到本地,再进行解释并且展现出来。

4.保存数据:
保存的方式可以是把数据存为文本,也可以把数据保存到数据库,或者保存为特定的jpg,mp4 等格式的文件。这就相当于我们在浏览网页时,下载了网页上的图片或者视频。

ok。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值