Python

Day 6

Python_第1张图片

换换口味

爬虫

URl 自动抓取互联网数据 url 相互指向形成一个互联网 

使用Python 设立主题从互联网上从一个网页出发提取所有相关数据

爬虫需要

Python_第2张图片


Python_第3张图片
运行流程

爬虫调度端:启动爬虫,停止爬虫,监视爬虫运行情况

URL管理器:对将要爬取的和已经爬取过的URL进行管理;可取出带爬取的URL,将其传送给“网页下载器”

网页下载器:将URL指定的网页下载,存储成一个字符串,在传送给“网页解析器”

网页解析器:解析网页可解析出①有价值的数据②另一方面,每个网页都包含有指向其他网页的URL,解析出来后可补充进“URL管理器”

管理器是为了防止重复抓取


Python_第4张图片


Python_第5张图片

网页下载器把网页下载到本地 然后进行后续的分析处理


Python_第6张图片

urllib2 是内置插件

下载网页的方法


Python_第7张图片


视频是Python 2.7 的 要换成eclipse运行


Python_第8张图片
第二种方法

下载网页


Python_第9张图片
三种方法的代码


Python_第10张图片

结构化解析  是把网页转化成一个


Python_第11张图片

转化成一个树 w3cschool的要求

通过这个树document

把HTML下面的元素  元素下面的文档 取出来


Python_第12张图片

这样可以通过树的方式访问每一个位置 进行网页解析


Python_第13张图片

安装beautifulsoup4 

安装完成


Python_第14张图片
运行结果完美


Python_第15张图片

find_all 会搜素所有满足要求的节点

find 只会搜素第一个满足要求的节点


Python_第16张图片
然后

然后可以按照节点进行搜索


Python_第17张图片


Python_第18张图片
进行检索


Python_第19张图片
创建bs4 对象然后 加载bs模块


Python_第20张图片
根据HTML文档 创建bs对象

传入三个参数 字符串 解析器 编码防止与代码的编码不一样


Python_第21张图片

find-all 的参数 包含三个 name节点的名称 attrs 节点的属性 string 节点的文字


Python_第22张图片

比如我要查找a的节点 直接传入a的名称即可,....


Python_第23张图片

通过名称属性 文字就可以搜索所有节点

访问节点信息


Python_第24张图片

node.name 获取节点名称

node[] 通过字典的形式访问到所有属性

node.get_text()的方法来获取节点的文字

创建bs对象 搜索dom树 访问节点内容 实现对网页的解析访问


Python_第25张图片

一个for循环


Python_第26张图片

只获取一个lacie 的链接


Python_第27张图片

正则表达式用来查找相应文件



Python_第28张图片
有问题!!!


实战

Python_第29张图片

爬行 标题和简介


Python_第30张图片


Python_第31张图片
明天继续

你可能感兴趣的:(Python)