酱爆鸭脖

导航

day01.1 爬某网小视频

首先介绍什么是爬虫

一、爬虫的基本原理
1.什么是爬虫?
爬虫就是爬取数据。
2.什么是互联网?
由一堆网络设备,把一台台的
计算机互联到一起称之为互联网。

3.互联网建立的目的
数据的传递与数据的共享。

4.什么是数据?
例如:
电商平台的商品信息
股票证券投资信息
12306,票务信息(抢票)
5.什么是上网?
普通用户:
打开浏览器
------》输入网址
------》往目标主机发送网址
------》返回响应数据
------》把数据渲染到浏览器中

爬虫程序:
模拟浏览器
-----》往目标主机发送请求
-----》返回响应数据
-----》解析并提取有价值的数据
-----》保存数据(文件写入本地、持久化到数据库)

6.爬虫的全过程
1.发送请求(请求库:request/selenium)
2.获取响应数据
3.解析数据(解析库:BeautifulSoup4)
4.保存数据(存储库:文件保存MonGoDB)

总结:假如互联网中数据比喻成宝藏,爬虫就是在挖取宝藏。
接下来是爬校花网小视频
import time
import requests

# 爬虫三部曲
# 1.发送请求
def get_page(url):
    response= requests.get(url)
    return response
# 2.解析数据
import re
def parse_index(html):
    #findall匹配所有
    # re.finadall("正则匹配规则","匹配文本","匹配模式")
    # re.S 对全部文本进行搜索匹配
    detail_urls=re.findall(
        '<div class="items"><a class="imglink" href="(.*?)"',html, re.S)
    return detail_urls

#解析详情页
def parse_detail(html):
    movie_url=re.findall('<source src="(.*?)">',html,re.S)
    if movie_url:
        return movie_url[0]
# 3.保存数据
import uuid
def save_video(content):
    #uuid.uuid4()根据时间戳生成一段世界上唯一的字符串
    with open(f'{uuid.uuid4()}.mp4','wb')as f:
        f.write(content)
        print('视频下载完毕,请看')
# main +回车键
#测试 用例:
if __name__ == '__main__':
    for line in range(6):
        url=f'http://www.xiaohuar.com/list-3-{line}.html'
        #发送请求
        response = get_page(url)
        # print(response)
        ##返回响应状态码
        #print(response.status_code)
        #返回响应文本
        #print(response.text)
        #解析主页页面
        detail_urls=parse_index(response.text)
        #循环遍历详情页url
        for detail_url in  detail_urls:
            # print(detail_url)
            #往每一个详情页发送请求
            detail_res = get_page(detail_url)
            # print(response.text)

            #解析详情页获取视频url
            movie_url= parse_detail(detail_res.text)

            #判断视频url存在则打印
            if movie_url:
                print(movie_url)
                #往视频url发送请求获取视频二进制流
                movie_res=get_page(movie_url)
                #吧视频的二进制流传给save_video函数去保存到本地
                save_video(movie_res.content)

 

 

posted on 2019-07-01 14:45  酱爆鸭脖  阅读(188)  评论(0编辑  收藏  举报