专栏名称: python
隔天更新python文章,我希望用我的努力换来劳动的成果帮助更多的人掌握一门技术,因此我要更加努力。
目录
相关文章推荐
Python爱好者社区  ·  节后第一个私活,赚了3w ·  昨天  
Python爱好者社区  ·  python接私活,yyds ·  16 小时前  
Python爱好者社区  ·  DeepSeek 最新中国大学排名 ·  16 小时前  
Python开发者  ·  “李飞飞团队50 美元炼出 ... ·  3 天前  
Python爱好者社区  ·  史上最强!PINN杀疯了 ·  3 天前  
51好读  ›  专栏  ›  python

Python3.x开发简单爬虫及案例学习

python  · 公众号  · Python  · 2018-04-08 14:34

正文

什么是爬虫


一段自动抓取互联网信息的程序,可以从一个URL出发,访问它所关联的URL,提取我们所需要的数据。也就是说爬虫是自动访问互联网并提取数据的程序。

爬虫的价值

将互联网上的数据为我所用,开发出属于自己的网站或APP

爬虫框架


爬虫调度端:用来启动、执行、停止爬虫,或者监视爬虫中的运行情况

在爬虫程序中有三个模块URL管理器:对将要爬取的URL和已经爬取过的URL这两个数据的管理

网页下载器:将URL管理器里提供的一个URL对应的网页下载下来,存储为一个字符串,这个字符串会传送给网页解析器进行解析

网页解析器:一方面会解析出有价值的数据,另一方面,由于每一个页面都有很多指向其它页面的网页,这些URL被解析出来之后,可以补充进URL管理器

这三部门就组成了一个简单的爬虫架构,这个架构就能将互联网中所有的网页抓取下来

动态执行流程

URL管理器


防止重复抓取和循环抓取,最严重情况两个URL相互指向就会形成死循环


三种实现方式


Python内存set集合:set集合支持去重的作用

Mysql:url(访问路径)is_crawled(是否访问)

Redis:使用Redis性能最好,且Redis中也有set类型,可以去重。不懂得同学可以看下Redis的介绍

urllib模块

本文使用urllib实现

urllib2是python自带的模块,不需要下载。

urllib2在python3.x中被改为urllib.req uest

〖★ 三种实现方式 ★〗


1

方式一

2

方式二

3

使用cookie


网页解析器和BeautifulSoup第三方模块


测试是否安装bs4

方法介绍

实例测试

html采用官方案例

获取所有的链接

爬虫开发实例(目标爬虫百度百科)

入口:http://baike.baidu.com/item/Python







请到「今天看啥」查看全文


推荐文章
Python爱好者社区  ·  节后第一个私活,赚了3w
昨天
Python爱好者社区  ·  python接私活,yyds
16 小时前
Python爱好者社区  ·  DeepSeek 最新中国大学排名
16 小时前
Python爱好者社区  ·  史上最强!PINN杀疯了
3 天前
数据中心运维管理  ·  2017年值得关注的数据中心趋势预测
8 年前