python爬虫学习过程记录

项目为爬取Python词条的信息。
项目代码在我的码云仓库。

https://gitee.com/libo-sober/learn-python/tree/master/baike_spider

1.开发轻量级爬虫

1.1爬虫简介

爬虫:一段自动抓取互联网信息的程序。
在这里插入图片描述
自动访问互联网并且提取数据。

价值:互联网数据为我所用。

1.2简单爬虫架构

在这里插入图片描述
运行流程:
在这里插入图片描述

1.3URL管理器

URL管理器:管理待抓取URL集合和已抓取URL集合。防止重复抓取和循环抓取。
在这里插入图片描述
实现方式:
在这里插入图片描述
一般大公司都存在缓存数据库中。

1.4网页下载器

网页下载器:将互联网上URL对应的网页下载到本地的工具。
在这里插入图片描述
Python有哪几种网页下载器?
在这里插入图片描述

1.5 urllib2

urllib2下载网页方法1:最简洁方法
python3中把urllib2改为了urllib.request
在这里插入图片描述
对应到代码:
在这里插入图片描述
urllib2下载网页方法2:添加data、http header
在这里插入图片描述
在这里插入图片描述
urllib2下载网页方法3:添加特殊情景的处理器。
在这里插入图片描述
有些网页需要登录才能处理,需要添加Cookie的处理;
有些网页需要代理才能访问,使用ProxyHandler;
有些网页使用Https加密访问,使用HTTPSHandler;
有些网页url是相互自动跳转的关系,使用HTTPRedirectHandler。
对应到代码:
在这里插入图片描述

1.6网页解析器

网页解析器:从网页中提取出有价值的数据的工具。
在这里插入图片描述
python有哪几种网页解析器?
在这里插入图片描述
结构化解析-DOM(Document Object Model)树
在这里插入图片描述

1.7 Beautiful Soup

python第三方库,用于从HTML或XML中提取数据
安装并测试beautifulsoup4
安装:pip install beautifulsoup4
测试:import bs4
语法:
在这里插入图片描述
例如:
在这里插入图片描述
创建BeautifulSoup对象
在这里插入图片描述
搜索节点(find_all, find)
在这里插入图片描述
访问节点信息
在这里插入图片描述

1.8 实例爬虫

在这里插入图片描述
目标:百度百科python词条相关词条网页-标题和简介。
入口页:https://baike.baidu.com/item/Python/407313
词条页面URL:/item/opencv 这不是一个完整的URL,需要补全。
数据格式:
标题:
《dd class=“lemmaWgt-lemmaTitle-title”>

Python


简介:
《div class=’‘para’’>
由于网站在不断升级,所以爬取代码要跟随目标网站更改需求。

源代码太长就不贴了,大家可以去我的资源里边下载。我设置了0积分币,方便大家下载。
免费获取项目代码传送门

猜你喜欢

转载自blog.csdn.net/qq_31910669/article/details/107996629
今日推荐