小白学习爬虫的第一天之requests的使用

一. requests的基本语法

import requests
# requests:是python用来发送http请求的一个第三方库

1.发送请求获取响应

# requests.get(url)     -   发送get请求
# requests.post(url)    -   发送post请求
response = requests.get('https://www.baidu.com')

获取响应内容

1)状态码
code = response.status_code
print(code)
if code == 200:
    print('请求成功,后续或许返回的数据')
else:
    print('请求失败')
2)修改返回数据的编码方式(一般针对文本数据乱码的时候)
# 设置的值是网页源代码中charset的值
response.encoding = 'utf-8'
3)获取响应体(服务器返回的数据)
# a.获取文本数据(返回数据是网页源代码)
data = response.text
print(data)

# b.获取json数据(返回的数据是json格式的数据)
response.json()

# c.获取二进制数据(下载图片)
response.content

二. requests的应用

import requests

def get_json_data():
    # 1.获取json数据
    # 1)发送请求
    response = requests.get('http://api.tianapi.com/txapi/ncovabroad/index?key=c9d408fefd8ed4081a9079d0d6165d43')

    # 2)获取数据
    if response.status_code == 200:
        data = response.json()
        print(data)
        for x in data["newslist"]:
            print(f'{x["provinceName"]}:{x["confirmedCount"]}')
    else:
        print('请求失败')


def get_bytes_data():
    """
    下载图片
    :return:
    """
    # 发送请求
    response = requests.get('https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=2866940675,2065857896&fm=26&gp=0.jpg')
    # 获取二进制数据
    if response.status_code == 200:
        # print(response.content)
        with open('img/0.jpg', 'wb') as f:
            f.write(response.content)
    else:
        print('请求失败')


if __name__ == '__main__':
    # get_json_data()
    get_bytes_data()

三. requests的参数和header

1.参数

def argument():
    """
    参数:发送请求的时候客户端发送给服务器的数据就是参数
    传参的方式:
        1.拼接url(GET) -   将参数以 '参数名=值'的形式 通过?拼接到url的后面,多个参数用&连接
        例如:http://api.tianapi.com/txapi/ncovabroad/index?key=c9d408fefd8ed4081a9079d0d6165d43
        2.给参数params赋值(GET/POST) -   将所有参数以键值对的形式创建一个字典,然后将字典赋给data


    """
    # 方法一:
    # url = 'http://api.tianapi.com/txapi/ncovabroad/index?key=c9d408fefd8ed4081a9079d0d6165d43'
    # response = requests.get(url)

    # 方法二:
    url = 'http://api.tianapi.com/txapi/ncovabroad/index?key=c9d408fefd8ed4081a9079d0d6165d43'
    arguments = {
        'key': 'c9d408fefd8ed4081a9079d0d6165d43'
    }
    response = requests.get(url, params=arguments)

    #获取响应头
    print(response.headers)

    print(response.json())

2.请求头

requests.get/post(url/请求地址,params/参数,…,headers/请求头,proxy/代理)

def argument():
    """
    参数:发送请求的时候客户端发送给服务器的数据就是参数
    传参的方式:
        1.拼接url(GET) -   将参数以 '参数名=值'的形式 通过?拼接到url的后面,多个参数用&连接
        例如:http://api.tianapi.com/txapi/ncovabroad/index?key=c9d408fefd8ed4081a9079d0d6165d43
        2.给参数params赋值(GET/POST) -   将所有参数以键值对的形式创建一个字典,然后将字典赋给data


    """
    # 方法一:
    # url = 'http://api.tianapi.com/txapi/ncovabroad/index?key=c9d408fefd8ed4081a9079d0d6165d43'
    # response = requests.get(url)

    # 方法二:
    url = 'http://api.tianapi.com/txapi/ncovabroad/index?key=c9d408fefd8ed4081a9079d0d6165d43'
    arguments = {
        'key': 'c9d408fefd8ed4081a9079d0d6165d43'
    }
    response = requests.get(url, params=arguments)

    #获取响应头
    print(response.headers)

    print(response.json())

四. selenium的基础语法

from selenium import webdriver

# 1.创建浏览器对象
# Chrome()
b = webdriver.Chrome()

# 2.在浏览器中加载页面
b.get('https://51job.com/')

# 3.获取网页源代码
content = b.page_source
print(content)

# 4.关闭浏览器
# b.close()

五. selenium的基础操作

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

b = webdriver.Chrome()
url = 'https://www.51job.com/'
b.get(url)

# 1.获取已经加载的页面中的标签
"""
浏览器对象.find_element_by_id(id值)
浏览器对象.find_element_by_css_selector(css选择器)  -   获取选择器选中的一个标签(第一个),返回值是标签对象
浏览器对象.find_elements_by_css_selector(css选择器) -   获取选择器选中的所有标签,返回值是列表,列表中元素是标签
"""
# input = b.find_element_by_id('kwdselectid')
input = b.find_element_by_css_selector('#kwdselectid')
print(input)

# 2.操作标签
# 1)输入框中输入内容
input.send_keys('数据分析')
# input.send_keys(Keys.ENTER)

# 2)点击按钮
button = b.find_element_by_css_selector('body > div.content > div > div.fltr.radius_5 > div > button')
button.click()

# b.close()
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值