python requests【2】高阶

简介: python requests【2】高阶

python 模块 requests (2) 处理url

文章目录

1. 返回数据获取方式

response.text
response.json()
response.content

2. request class 的格式

import re
import requests
class HandleLaGou(object):
    def __init__(self):
        self.laGou_session = requests.session()
        self.header = {
            'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'
        }
        self.city_list = ""
    #获取全国城市列表
    def handle_city(self):
        city_search = re.compile(r'zhaopin/">(.*?)</a>')
        city_url = "https://www.lagou.com/jobs/allCity.html"
        city_result = self.handle_request(method = "GET", url = city_url)
        self.city_list = city_search.findall(city_result)
    def handle_request(self, method, url, data = None, info = None):
        if method == "GET":
            response = self.laGou_session.get(url = url, headers = self.header)
        return response.text
if __name__ == '__main__':
    laGou = HandleLaGou()
    laGou.handle_city()
    print(laGou.city_list)
    pass

3. 模拟浏览器请求

4. 返回列表包含的字典与元组

html内容

<tr >
    <td>60</td>
    <td><a>leeliao</a></td>
    <td><a>leeliao</a></td>
    <td>¥56.82 元</td>
    <td>¥56.82元</td>
    <td>2014-08-11 23:33:54</td>
    <td>手动</td>
    <td><div class='iconBidState0' /></td>
</tr>
<tr >
    <td>61</td>
    <td><a>luo321654</a></td>
    <td><a>luo321654</a></td>
    <td>¥4,000.00 元</td>
    <td>¥4,000.00元</td>
    <td>2014-08-11 23:34:32</td>
    <td>手动</td>
    <td><div class='iconBidState0' /></td>
</tr

代码

r = re.compile(r'''<td>(?P<number>\d+)</td>.*?<td><a>(?P<name>\w+)</a></td''', re.S)
result = re.finditer(r, content)
print [m.groupdict() for m in result]

输出结果:

[{'number': '60', 'name': 'leeliao'}, {'number': '61', 'name': 'luo321654'}]

✈推荐阅读:


python requests【1】入门

python re 正则表达式

python requests【2】高阶

w3schools Python Requests Module

runoob Python requests 模块

realpython Python’s Requests Library (Guide)

different-behavior-between-re-finditer-and-re-findall

re-findall-which-returns-a-dict-of-named-capturing-groups


相关文章
|
16天前
|
数据采集 前端开发 算法
Python Requests 的高级使用技巧:应对复杂 HTTP 请求场景
本文介绍了如何使用 Python 的 `requests` 库应对复杂的 HTTP 请求场景,包括 Spider Trap(蜘蛛陷阱)、SESSION 访问限制和请求频率限制。通过代理、CSS 类链接数控制、多账号切换和限流算法等技术手段,提高爬虫的稳定性和效率,增强在反爬虫环境中的生存能力。文中提供了详细的代码示例,帮助读者掌握这些高级用法。
Python Requests 的高级使用技巧:应对复杂 HTTP 请求场景
|
9天前
|
数据采集 JSON 测试技术
Python爬虫神器requests库的使用
在现代编程中,网络请求是必不可少的部分。本文详细介绍 Python 的 requests 库,一个功能强大且易用的 HTTP 请求库。内容涵盖安装、基本功能(如发送 GET 和 POST 请求、设置请求头、处理响应)、高级功能(如会话管理和文件上传)以及实际应用场景。通过本文,你将全面掌握 requests 库的使用方法。🚀🌟
30 7
|
25天前
|
网络协议 数据库连接 Python
python知识点100篇系列(17)-替换requests的python库httpx
【10月更文挑战第4天】Requests 是基于 Python 开发的 HTTP 库,使用简单,功能强大。然而,随着 Python 3.6 的发布,出现了 Requests 的替代品 —— httpx。httpx 继承了 Requests 的所有特性,并增加了对异步请求的支持,支持 HTTP/1.1 和 HTTP/2,能够发送同步和异步请求,适用于 WSGI 和 ASGI 应用。安装使用 httpx 需要 Python 3.6 及以上版本,异步请求则需要 Python 3.8 及以上。httpx 提供了 Client 和 AsyncClient,分别用于优化同步和异步请求的性能。
python知识点100篇系列(17)-替换requests的python库httpx
|
1月前
|
存储 网络协议 API
详解Python中的Requests会话管理
详解Python中的Requests会话管理
|
2月前
|
JSON API 数据格式
30天拿下Python之requests模块
30天拿下Python之requests模块
39 7
|
2月前
|
API Python
使用Python requests库下载文件并设置超时重试机制
使用Python的 `requests`库下载文件时,设置超时参数和实现超时重试机制是确保下载稳定性的有效方法。通过这种方式,可以在面对网络波动或服务器响应延迟的情况下,提高下载任务的成功率。
141 1
|
2月前
|
测试技术 API Python
Python中requests、aiohttp、httpx性能对比
这篇文章对比了Python中三个流行的HTTP客户端库:requests、aiohttp和httpx,在发送HTTP请求时的性能,并提供了测试代码和结果,以帮助选择适合不同应用场景的库。
139 2
|
2月前
|
数据采集 JSON API
🎓Python网络请求新手指南:requests库带你轻松玩转HTTP协议
本文介绍Python网络编程中不可或缺的HTTP协议基础,并以requests库为例,详细讲解如何执行GET与POST请求、处理响应及自定义请求头等操作。通过简洁易懂的代码示例,帮助初学者快速掌握网络爬虫与API开发所需的关键技能。无论是安装配置还是会话管理,requests库均提供了强大而直观的接口,助力读者轻松应对各类网络编程任务。
115 3
|
2月前
|
机器学习/深度学习 JSON API
HTTP协议实战演练场:Python requests库助你成为网络数据抓取大师
在数据驱动的时代,网络数据抓取对于数据分析、机器学习等至关重要。HTTP协议作为互联网通信的基石,其重要性不言而喻。Python的`requests`库凭借简洁的API和强大的功能,成为网络数据抓取的利器。本文将通过实战演练展示如何使用`requests`库进行数据抓取,包括发送GET/POST请求、处理JSON响应及添加自定义请求头等。首先,请确保已安装`requests`库,可通过`pip install requests`进行安装。接下来,我们将逐一介绍如何利用`requests`库探索网络世界,助你成为数据抓取大师。在实践过程中,务必遵守相关法律法规和网站使用条款,做到技术与道德并重。
48 2
|
1月前
|
监控 安全 中间件
Python requests 如何避免被 Gzip 炸弹攻击
Python requests 如何避免被 Gzip 炸弹攻击
27 0
下一篇
无影云桌面