一、认识爬虫
1.1、什么是爬虫?
爬虫:一段自动抓取互联网信息的程序,从互联网上抓取对于我们有价值的信息。
1.2、Python爬虫架构
调度器:相当于一台电脑的CPU,主要负责调度URL管理器、下载器、解析器之间的协调工作。
URL管理器:包括待爬取的URL地址和已爬取的URL地址,防止重复抓取URL和循环抓取URL,实现URL管理器主要用三种方式,通过内存、数据库、缓存数据库来实现。
网页下载器:通过传入一个URL地址来下载网页,将网页转换成一个字符串,网页下载器有urllib2(Python官方基础模块)包括需要登录、代理、和cookie,requests(第三方包)
网页解析器:将一个网页字符串进行解析,可以按照我们的要求来提取出我们有用的信息,也可以根据DOM树的解析方式来解析。网页解析器有正则表达式(直观,将网页转成字符串通过模糊匹配的方式来提取有价值的信息,当文档比较复杂的时候,该方法提取数据的时候就会非常的困难)、html.parser(Python自带的)、beautifulsoup(第三方插件,可以使用Python自带的html.parser进行解析,也可以使用lxml进行解析,相对于其他几种来说要强大一些)、lxml(第三方插件,可以解析 xml 和 HTML),html.parser 和 beautifulsoup 以及 lxml 都是以 DOM 树的方式进行解析的。
应用程序:就是从网页中提取的有用数据组成的一个应用。
一、爬虫准备
2.1.1、爬虫类型
- 小爬:各种库来爬
- 中爬:框架
- 大爬:搜索引擎
2.1.2、目的
- 解决数据来源的问题
- 做行业分析
- 完成自动化操作
- 做搜索引擎
2.1.3、目标类型
- 新闻/博客/微博
图片,新闻,评论 - 电影视频
视频,评论 - 音乐
音频,评论
三、开始爬虫
本章为爬虫入门,所以我们只需要安装几个Python库即可,如下:
requests | pip install requests
bs4 | pip install bs4
lxml | pip install lxml
发送请求
我们每天访问百度,其实就是一次请求,这个requests作用其实就是使用代码模拟我们人类给网站发送了一次请求。 首先我们需要导入requests库 如下:
import requests # 导入requests库
导入之后我们就可以使用requests库中的方法了,例如我们需要获取我csdn某一篇文章。
r = requests.get('https://www.jianshu.com')
现在,我们有一个名字为:r的Response响应对象,也就是我们访问网站,网站肯定会给我们数据。一些参数如下:
r.status_code # 查看访问状态码 200为ok 是成功的
200
# 然后获取网页源码
r.text # 就是整个网页的html代码
有了html源码一般使用正则匹配数据,但是太麻烦,我们选择一个更简单的可以解析html的python库
就是
from bs4 import BeautifulSoup
来个案例 查找所有关于title标签
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from bs4 import BeautifulSoup
html = '网页源码'
soup = BeautifulSoup(html, 'lxml')
title = soup.find_all('title')
print(title)
>>> [<title>The Dormouse's story</title>]
其中有个lxml 这个是lxml HTML 解析器 上面已经安装到了
说几个BeautifulSoup比较重要的函数
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from bs4 import BeautifulSoup
html = '网页源码'
soup = BeautifulSoup(html, 'lxml')
soup.find_all('a') # 获取整个网页所有a标签
soup.find_all('p') # 获取整个网页所有p标签
soup.find('p') # 获取网页第一个p标签
soup.select('#stro p') # 这个是按照css选择器获取元素的 和css几乎相同
读者福利:知道你对Python感兴趣,便准备了这套python学习资料
👉[[CSDN大礼包:《python兼职资源&全套学习资料》免费分享]](安全链接,放心点击)
对于0基础小白入门:
如果你是零基础小白,想快速入门Python是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以找到适合自己的学习方案
包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习等习教程。带你从零基础系统性的学好Python!
零基础Python学习资源介绍
- ① Python所有方向的学习路线图,清楚各个方向要学什么东西
- ② 600多节Python课程视频,涵盖必备基础、爬虫和数据分析
- ③ 100多个Python实战案例,含50个超大型项目详解,学习不再是只会理论
- ④ 20款主流手游迫解 爬虫手游逆行迫解教程包
- ⑤ 爬虫与反爬虫攻防教程包,含15个大型网站迫解
- ⑥ 爬虫APP逆向实战教程包,含45项绝密技术详解
- ⑦ 超300本Python电子好书,从入门到高阶应有尽有
- ⑧ 华为出品独家Python漫画教程,手机也能学习
- ⑨ 历年互联网企业Python面试真题,复习时非常方便
👉Python学习路线汇总👈
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取哈)
👉Python必备开发工具👈
温馨提示:篇幅有限,已打包文件夹,获取方式在:文末
👉Python学习视频600合集👈
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉实战案例👈
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉100道Python练习题👈
检查学习结果。
👉面试刷题👈
👉python副业兼职与全职路线👈
上述这份完整版的Python全套学习资料已经上传CSDN官方,朋友们如果需要可以微信扫描下方CSDN官方认证二维码 即可领取↓↓↓
![](https://img-blog.csdnimg.cn/img_convert/3f60baae853f6c906485afb557179d9a.png)