day21 数据获取

day21 数据获取

一、HTTP - 超文本传输协议
  1. 请求:
    请求行:请求方式,请求路径、协议版本
    请求头:键值对
    Host --> 请求的主机
    Accept-- > 接受的内容类型
    User-Agent – >操作系统和浏览器平台
    Accept-Language --> 浏览器语言设定
    Accept- Encoding – 》编码和压缩方式
    User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36

    2.响应:
    相应行:协议版本 响应状态码
    2xx:成功
    3xx:重定向
    4xx:请求有问题
    404:Not Found —> 找不到对应的资源
    401:Unauthorized — >未授权
    403:Forbidden – >禁用(没权限)
    405:Method not Allows —>请求的方法不对
    418:I am a tea pot --> 服务器不能给到想要的
    5xx:服务器问题
    响应头:键值对
    空行
    消息体:服务器给浏览器的内容 -->(如果请求是网页,则返回网页源代码)

二URL
  1. URI – >统一资源标识符 – > Uniform Resource Identifier 网络上的一个资源唯一构成
    URI – >URL/URN(urn:isbn:)
    URL – > 网址— Uniform Resource Locator 统一资源定位
    str -->字符串 – encode() – bytes
    bytes — > 字节串 – > decode() – >str
    url = 协议//用户名:口令@主机(服务器IP地址):端口号/路径/资源名称

    三、数据获取
    from datetime import time
    from random import random
    import requests
    import re
    
    # 获取搜狐首页
    resp = requests.get('https://www.sohu.com/')
    print(type(resp))
    print(resp.text)
    
    # 获取百度标志
    resp = requests.get('https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png')
    print(type(resp))
    print(resp.content.decode('utf-8'))
    
    #获取豆瓣top250电影名
    for page in range(10):
        re_str = re.compile(r'\<span class="title"\>(.+?)\</span\>')
        resp = requests.get(
            url=f'https://movie.douban.com/top250?start={page * 25}',
            headers={
                'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) '
                             'AppleWebKit/537.36 (KHTML, like Gecko) '
                             'Chrome/88.0.4324.182 Safari/537.36'
            }
        )
            # print(resp.text)
        movie_title = re_str.findall(resp.text)
        for title in movie_title:
            print(title)
        time.sleep(random.randint(3, 5))
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值