Python网络数据抓取(3):Requests

简介: Python网络数据抓取(3):Requests

引言

在这一部分,我们将探讨Python的requests库,并且利用这个库来进行网页数据抓取。那么,我们为何需要这个库,以及怎样利用它呢?

requests库是广受大家欢迎的一个库,它是下载次数最多的。这个库使我们能够向各种网站发起HTTP请求。它向目标网站发起一个套接字连接,并请求连接的权限。这就是不同应用程序之间如何实现通信的原理。

接下来,我们通过一个简单的网页抓取实例来说明如何应用这个库。

示例

以亚马逊网站为例,我们将进行数据抓取。

mkdir scraper
pip install requests

然后在这个文件夹中创建一个文件 scraper.py 然后开始和我一起编码。

import requests

这会将请求库导入到我们的文件中。现在,我们可以使用它来创建网络抓取工具。

target_url = "https://www.amazon.com/dp/B08WVVBWCN"

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

resp = requests.get(url, headers=headers).text

print(resp.status_code)

在这里,我们声明了一个 target_url 变量,用于存储来自 amazon.com 的目标网址。然后我们声明了一个标头,最后我们向目标 URL 发出了 GET 请求。这就是我们运行这段代码时发生的情况。

当我们打印状态时,我们得到的状态为 200,这意味着我们能够成功抓取亚马逊。您甚至可以打印我们从亚马逊收到的 HTML 代码,只需将 status_code 替换为文本即可。

它看起来像这样:

正如您所看到的,这些数据根本不可读。我们需要从这些垃圾中解析出数据。为此,我们将使用 BeautifulSoup。

未完待续,欢迎关注!

相关文章
|
17天前
|
网络协议 Linux Python
Python进阶---网络编程
Python进阶---网络编程
32 2
|
17天前
|
数据采集 缓存 Java
代理服务器调试技巧:优化Kotlin网络爬虫的数据抓取过程
代理服务器调试技巧:优化Kotlin网络爬虫的数据抓取过程
|
3天前
|
数据库 Python
Python网络数据抓取(8):正则表达式
Python网络数据抓取(8):正则表达式
15 2
|
3天前
|
机器学习/深度学习 算法 TensorFlow
【图像识别】谷物识别系统Python+人工智能深度学习+TensorFlow+卷积算法网络模型+图像识别
谷物识别系统,本系统使用Python作为主要编程语言,通过TensorFlow搭建ResNet50卷积神经算法网络模型,通过对11种谷物图片数据集('大米', '小米', '燕麦', '玉米渣', '红豆', '绿豆', '花生仁', '荞麦', '黄豆', '黑米', '黑豆')进行训练,得到一个进度较高的H5格式的模型文件。然后使用Django框架搭建了一个Web网页端可视化操作界面。实现用户上传一张图片识别其名称。
34 0
【图像识别】谷物识别系统Python+人工智能深度学习+TensorFlow+卷积算法网络模型+图像识别
|
7天前
|
机器学习/深度学习 人工智能 算法
中草药识别系统Python+深度学习人工智能+TensorFlow+卷积神经网络算法模型
中草药识别系统Python+深度学习人工智能+TensorFlow+卷积神经网络算法模型
43 0
|
7天前
|
存储 安全 网络安全
Python网络安全与密码学
【5月更文挑战第23天】 探索Python在网络安全与密码学的实践,从加密算法(如AES、RSA)和哈希函数(MD5、SHA-256)到网络安全工具(Scapy、Socket)的应用。了解如何使用PyCryptodome和hashlib进行加密解密及哈希计算,通过Scapy进行网络数据包操作和端口扫描,利用Socket实现TCP通信。深入密码学,学习RSA加密和数字签名,以及使用Django和Flask实现安全Web开发。此外,掌握高级网络安全技术,如Wireshark流量分析、Bro/Zeek入侵检测,以及自动化安全运维(Ansible)和安全数据分析(Pandas、Matplotlib)。
10 2
|
7天前
|
网络协议 开发者 Python
Python 网络编程
Python 网络编程
13 0
|
8天前
|
数据采集 存储 C++
单线程 vs 多进程:Python网络爬虫效率对比
本文探讨了Python网络爬虫中的单线程与多进程应用。单线程爬虫实现简单,但处理速度慢,无法充分利用多核CPU。而多进程爬虫通过并行处理提高效率,更适合现代多核架构。代码示例展示了如何使用代理IP实现单线程和多进程爬虫,显示了多进程在效率上的优势。实际使用时还需考虑代理稳定性和反爬策略。
单线程 vs 多进程:Python网络爬虫效率对比
|
10天前
|
监控 网络协议 Python
Python中常用网络编程模块
Python中常用网络编程模块
16 0
|
17天前
|
网络协议 Python
在python中利用TCP协议编写简单网络通信程序,要求服务器端和客户端进行信息互传。 - 蓝易云
在这个示例中,服务器端创建一个socket并监听本地的12345端口。当客户端连接后,服务器发送一条欢迎消息,然后关闭连接。客户端创建一个socket,连接到服务器,接收消息,然后关闭连接。
72 0