day01爬虫学习

我的随笔

1、什么是爬虫

爬虫就是抓取数据

2、什么是互联网

由一堆网络设备,把一台台计算机互联到一起称之为互联网

3、互联网建立的目的

数据的传递和数据的共享

4、什么是数据

例如:电商平台的商品数据

链接,信息...

5、什么是上网

普通用户:

打开浏览器→输入网址→往目标主机发送请求

→返回响应数据

→把数据渲染到浏览器中

爬虫程序:

模拟浏览器→往目标主机发送请求

→返回响应数据

→解析并提取有价值的数据

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

6、爬虫的全过程

1、发送请求(请求库:Requests/Selenium)

2、获取响应数据

3、解析数据(解析库:BeautifulSoup4)

4、保存数据(存储库:文件保存/MongoDB)

总结:我们可以把互联网中的数据比喻成一座宝藏,爬虫其实就是在挖去宝藏

二、requests请求库

1、安装与使用

pip3 install requests

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

-百度

1、请求url

https://www.baidu.com/

2、请求方式

get

3、请求头信息

User-Agent:用户代理

实验代码:

import requests
import  re
def get_page(url):
        response=requests.get(url)
        return response
#2、解析数据

def parse_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 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):
    with open(f'{uuid.uuid4()}.mp4','wb')as f:
        f.write(content)
if __name__ == '__main__':
    url = 'http://www.xiaohuar.com/v/'
    response=get_page(url)
    detail_urls=parse_index(response.text)
    for detail_url in detail_urls:
        detail_res=get_page(detail_url)
        movie_url=parse_detail(detail_res.text)
        # print(detail_url)
        # response=get_page(detail_url)
        # print(response.text)
        if movie_url:
            print(movie_url)
            movie_res=get_page(movie_url)
            save_video(movie_res.content)

结果:

posted @ 2019-07-01 14:45  夜殇离歌  阅读(94)  评论(0编辑  收藏  举报