01爬虫基本原理及Requests库下载

一、爬虫基本原理

1.什么是爬虫

​ 爬虫就是爬取数据

2.什么是互联网?

​ 就是由一堆网络设备,把一台台的电脑互联在一起

3.互联网建立的目的

​ 数据的传递和数据共享

4.什么是数据?

​ 例如:

​ 电商平台的商业信息(淘宝、京东、亚马逊)

​ 链家、自如等租房信息

​ 股票政券投资信息

​ 12306票务信息

​ ....

4.1什么是进程和线程

​ 打比方:打开QQ是进程

​ QQ中的很多群是线程

5.什么是上网

​ 普通用户:

​ 打开浏览器

​ →输入网址

​ →往目标主机发送请求

​ →返回响应数据

​ →把数据渲染到浏览器中

​ 爬虫程序:

​ 模拟浏览器

​ →往目标主机发送请求

​ →返回响应数据

​ →提取有价值的信息

​ →保存数据(文件写入本地、持久化到数据库)

6.爬虫的全过程

​ 1.发送请求

​ 请求库:Requests/Selenium

​ 2.获取响应数据

​ 3.解析数据

​ 解析库:BeautifulSoup4

​ 4.保存数据

​ 存储库:文件保存/MongoDB

总结

假如把互联网中的数据比作一座宝藏,爬虫其实就是在挖取宝藏

二、Requests请求库

1.安装

方法一:pip3 install requests

如果报错,则是环境变量没有配好,可以在pycharm中下载

方法二:



2.分析请求流程(模拟浏览器)

​ -百度

​ 1.请求url:https://www.baidu.com/

​ 2.请求方式

​ 3.响应状态码

三、爬虫三部曲(测试)

1.发送请求

# 发送请求
def get_page(url):
    response = requests.get(url)
    return response

2.解析数据

#解析主页页面
import re
def pare_index(html):
    #findall 匹配所有
    # re.findall('正则匹配规则','匹配文本','匹配模式')
    #re.S 对全部文本进行搜索
    detail_urls = re.findall('<div class="items"><a class="imglink" href="(.*?)"',html,re.S)
    return detail_urls


# 解析详情页
def pare_detail(html):
    detail_urls = re.findall('<sourse src="(.*?)">',html,re.S)
    return detail_urls

3.保存数据

#保存文件
import uuid
def save_movie(content):
    with open(f'{uuid.uuid4()}','wb') as f:
        f.write(content)
        print("视频下载完毕")
posted @ 2019-07-01 14:22  Crystal_Zh  阅读(284)  评论(0编辑  收藏  举报