爬虫-requests用法

中文文档 API: http://requests.kennethreitz.org/zh_CN/latest/

安装

pip install requests

获取网页

# coding=utf-8
import requests

response = requests.get(‘http://www.baidu.com‘)

# 第一种方式 获取响应内容
# 查看网页编码方式
print(response.encoding)
# 修改编码方式
response.encoding = ‘utf-8‘
# 获取响应内容
print(response.text)

# 第二种方式 获取二进制响应内容

# 获取二进制响应内容
print(response.content)
# 解码 decode(‘解码方式‘) 默认时utf-8的方式
print(response.content.decode())# coding=utf-8
import requests

response = requests.get(‘http://www.baidu.com‘)

# 第一种方式 获取响应内容
# 查看网页编码方式
print(response.encoding)
# 修改编码方式
response.encoding = ‘utf-8‘
# 获取响应内容
print(response.text)

# 第二种方式 获取二进制响应内容

# 获取二进制响应内容
print(response.content)
# 解码 decode(‘解码方式‘) 默认时utf-8的方式
print(response.content.decode())

保存图片

import requests

response = requests.get(‘http://requests.kennethreitz.org/zh_CN/latest/_static/requests-sidebar.png‘)
# 保存图片
with open(‘a.png‘,‘wb‘) as f:
    f.write(response.content)

获取状态码以及判断请求是否成功

import requests
r = requests.get(‘http://www.baidu.com‘)
# 获取状态码
print(r.status_code)  # 获取到200不一定成功 可能获取的时跳转之后的页码
# 断言 判断请求是否成功
assert r.status_code==200  # 如果成功 没有任何反应 失败会报错

# 获取响应header
print(r.headers)
# 获取请求header
print(r.request.headers)

# 获取请求url
print(r.request.url)
# 获取响应的url
print(r.url)

带header头伪装浏览器爬取内容

import requests
# 模拟header头
headers = {‘User-Agent‘: ‘Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36‘}
# 获取网页
r = requests.get(‘http://www.baidu.com‘,headers=headers)
# 获取响应内容
print(r.text)

爬取贴吧内容

import requests

class WebSpider():
    def __init__(self, name):
        self.headers = {‘User-Agent‘: ‘Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36‘}
        self.url_temp = "http://tieba.baidu.com/f?kw="+ name +"&ie=utf-8&pn={}"
        self.name = name

    # 构建地址列表
    def get_url_list(self):
        return [self.url_temp.format(i*50) for i in range(1000)]

    # 获取贴吧内容
    def parse_url(self, url):  #爬取数据
        print(url)
        r = requests.get(url, headers=self.headers)
        return r.content.decode()

    def run(self):
        # 获取地址列表
        urls = self.get_url_list()
        # 遍历 爬取数据
        for url in urls:
            html_str = self.parse_url(url)
            # 保存
            page_num = urls.index(url)+1  # 获取也码数
            file_name =  self.name + "第{}页.html".format(page_num)
            with open(file_name, "w", encoding="utf-8") as f:
                f.write(html_str)
if __name__ == ‘__main__‘:
    r = WebSpider(input("请输入贴吧名字:"))
    r.run()

原文地址:https://www.cnblogs.com/yifengs/p/11707617.html

时间: 2024-07-31 14:19:42

爬虫-requests用法的相关文章

Python 爬虫—— requests BeautifulSoup

本文记录下用来爬虫主要使用的两个库.第一个是requests,用这个库能很方便的下载网页,不用标准库里面各种urllib:第二个BeautifulSoup用来解析网页,不然自己用正则的话很烦. requests使用,1直接使用库内提供的get.post等函数,在比简单的情况下使用,2利用session,session能保存cookiees信息,方便的自定义request header,可以进行登陆操作. BeautifulSoup使用,先将requests得到的html生成BeautifulSo

requests用法

# -*- coding: cp936 -*- #xiaodeng #python 27 #requests用法 #获取http://www.weather.com.cn/data/sk/101010100.html的信息 import requests def getJson(): data=requests.get('http://www.weather.com.cn/data/sk/101010100.html') #获取json数据,数据本身得是json格式 #data.json返回结果

爬虫requests库的方法与参数

爬虫requests库的方法与参数 import requests """ # 1. 方法 requests.get requests.post requests.put requests.delete ... requests.request(method='POST') """ # 2. 参数 """ 2.1 url 2.2 headers 2.3 cookies 2.4 params 2.5 data,传请求体

解决python爬虫requests.exceptions.SSLError: HTTPSConnectionPool(host='XXX', port=443)问题

爬虫时报错如下: requests.exceptions.SSLError: HTTPSConnectionPool(host='某某某网站', port=443): Max retries exceeded with url: /login/ (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify fail

爬虫 requests,bs4 用法示例

requests 模块 用法 import requests # 1. 方法""" requests.get requests.post requests.put requests.delete ... requests.request(method='POST') """ # 2. 参数 """ 2.1 url 2.2 headers 2.3 cookies 2.4 params 2.5 data,传请求体 req

python爬虫---requests库的用法

requests是python实现的简单易用的HTTP库,使用起来比urllib简洁很多 因为是第三方库,所以使用前需要cmd安装 pip install requests 安装完成后import一下,正常则说明可以开始使用了. 基本用法: requests.get()用于请求目标网站,类型是一个HTTPresponse类型 import requests response = requests.get('http://www.baidu.com')print(response.status_c

关于爬虫的日常复习(13)—— 爬虫requests的初级高级的基本用法

原文地址:https://www.cnblogs.com/xingnie/p/9408721.html

爬虫——Requests库初识

1.Requests是什么 首先Requests是HTTP库,在爬虫中用于请求的相关功能. 而且requests是python实现的最简单易用的HTTP库,建议爬虫使用requests库. 默认安装好python之后,是没有安装requests模块的,需要单独通过pip安装. 2.Requests的使用 import requests response = requests.get('https://www.baidu.com') print(response.text) print(respo

requests用法基础-进阶

本节内容 模块的安装 -----------------------基础用法--------------------- GET用法.POST用法 -----------------------进阶用法-------------------- cookie处理.代理ip.session 一 模块安装: 1). 安装requests包还是很方便的,电脑中有python环境,打开cmd,输入pip install requests下载: 如果有同学使用pycharm的话,选择file-->settin