Python爬虫入门0

一、爬虫基本原理

  1. 什么是爬虫
    爬虫就是爬取数据

  2. 什么是互联网
    由无数的网络设备相互链接形成的链接关系称之为互联网

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

  4. 什么是数据
    例如:电商平台的信息(淘宝、京东)
    链接、自如租房平台的房源信息
    股票证券投资信息
    12306,票务信息

  5. 什么是上网

  • 普通用户:

    • 打开浏览器
    • 输入网址
    • 向目标主机发送请求
    • 返回响应数据
    • 浏览器渲染数据
  • 爬虫程序:

    • 模拟浏览器
    • 向目标主机发送请求
    • 返回响应数据
    • 解析并提取有价值的数据
    • 保存数据(文件写入到本地、从持久化到数据库中)
  1. 爬虫的全过程
    1. 发送请求(请求库:requests/selenium)
    2. 获取响应数据
    3. 解析数据(解析库:BeautifulSoup4)
    4. 保存数据(存储库:文件保存/MongoDB)

二、Requests请求库

  1. 安装使用
    pip install requests
    import requests

  2. 分析请求流程

  3. 编写代码

import re
import uuid
import requests

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 '
                  '(KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36',
}


def get_page(urls):
    response = requests.get(urls, headers=headers)
    return response


def parse_index(html):
    # re.findall(正则匹配规则 匹配文本 匹配模式)
    result = re.findall('<div class="items"><a class="imglink" href="(.*?)"', html, re.S)
    return result


def parse_detail(html):
    video_urls = re.findall('<source src="(.*?)">', html, re.S)
    if video_urls:
        return video_urls[0]


def save_video(content):
    with open(f'{uuid.uuid4()}.mp4', 'wb') as f:
        f.write(content)
        print('下载成功')


if __name__ == '__main__':
    # for i in range(6):
    #     url2 = f'http://www.xiaohuar.com/list-3-{i}.html'
    url = 'http://www.xiaohuar.com/v/'
    res = get_page(url)
    detail_urls = parse_index(res.text)
    for detail_url in detail_urls:
        detail_res = get_page(detail_url)
        video_url = parse_detail(detail_res.text)
        if video_url:
            print(video_url)
            video_res = get_page(video_url)
            save_video(video_res.content)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值