Python网络数据抓取(5):Pandas

简介: Python网络数据抓取(5):Pandas

Pandas

Pandas 是一个 Python 库,它提供灵活的数据结构,使我们与数据的交互变得非常容易。我们将使用它将数据保存在 CSV 文件中。

obj={
   
   }

arr=[]

obj[“name”] = soup.find(“span”,{
   
   class:”a-size-large product-title-word-break}).text.lstrip()

obj[“price”] = soup.find(“span”,{
   
   class:”priceToPay”}).find(“span”,{
   
   class:”a-offscreen”}).text

obj[“rating”] = soup.find(“i”,{
   
   class:”a-icon-star”}).text.split(“ “)[0]

arr.append(obj)

首先,我们声明了一个对象和一个数组。然后我们将所有目标数据存储在该对象中。然后我们将这个对象放入一个数组中。现在,我们将使用 pandas 和该数组创建一个数据框,然后使用该数据框创建 CSV 文件。

df = pd.DataFrame(arr)
df.to_csv(‘amazon_data.csv’, index=False, encoding=’utf-8')

这将在您的文件夹中创建一个名为 amazon_data.csv 的 CSV 文件。

Pandas 让我们的工作变得容易多了。使用这种技术,您可以抓取任何规模的亚马逊页面。

import requests
from bs4 import BeautifulSoup
import pandas as pd

obj={
   
   }
arr=[]

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)
print(resp.status_code)
soup=BeautifulSoup(resp.text,’html.parser’)

obj[“name”] = soup.find(“span”,{
   
   class:”a-size-large product-title-word-break}).text.lstrip()

obj[“price”] = soup.find(“span”,{
   
   class:”priceToPay”}).find(“span”,{
   
   class:”a-offscreen”}).text

obj[“rating”] = soup.find(“i”,{
   
   class:”a-icon-star”}).text.split(“ “)[0]

arr.append(obj)
df = pd.DataFrame(arr)
df.to_csv(‘amazon_data.csv’, index=False, encoding=’utf-8')

print(arr)

总结

正如你所观察到的,Requests、BeautifulSoup(BS4)和pandas库极大地简化了我们从亚马逊网站提取数据的过程。显而易见,如果你打算利用requests库来批量抓取亚马逊的数百万页面,那么你需要处理好多事项,包括设置合适的请求头、进行代理服务器的轮换以及处理验证码问题。

然而,如果你选择使用其他框架(Scrapy)提供的网页抓取API服务,那么你就无需亲自处理这些繁琐的步骤。其他框架(Scrapy)会利用其庞大的代理和请求头资源库来高效地完成对亚马逊网站的抓取任务。

值得一提的是,数据抓取工具的应用范围并不局限于亚马逊,它能够抓取任何网站的数据,哪怕是那些需要JavaScript渲染的复杂网站。

相关文章
|
3天前
|
搜索推荐 程序员 调度
精通Python异步编程:利用Asyncio与Aiohttp构建高效网络应用
【10月更文挑战第5天】随着互联网技术的快速发展,用户对于网络应用的响应速度和服务质量提出了越来越高的要求。为了构建能够处理高并发请求、提供快速响应时间的应用程序,开发者们需要掌握高效的编程技术和框架。在Python语言中,`asyncio` 和 `aiohttp` 是两个非常强大的库,它们可以帮助我们编写出既简洁又高效的异步网络应用。
24 1
|
5天前
|
运维 监控 网络安全
Python 在网络运维方面的自动化应用实例
Python 在网络运维方面的自动化应用实例
17 4
|
3天前
|
机器学习/深度学习 数据采集 算法
探索Python科学计算的边界:NumPy、Pandas与SciPy在大规模数据分析中的高级应用
【10月更文挑战第5天】随着数据科学和机器学习领域的快速发展,处理大规模数据集的能力变得至关重要。Python凭借其强大的生态系统,尤其是NumPy、Pandas和SciPy等库的支持,在这个领域占据了重要地位。本文将深入探讨这些库如何帮助科学家和工程师高效地进行数据分析,并通过实际案例来展示它们的一些高级应用。
13 0
探索Python科学计算的边界:NumPy、Pandas与SciPy在大规模数据分析中的高级应用
|
7天前
|
数据可视化 IDE 数据挖掘
Python助您洞察先机:2024年A股市场数据抓取与分析实战
【10月更文挑战第1天】随着2024年中国股市的强劲表现,投资者们对于如何高效获取并分析相关金融数据的需求日益增长。本文旨在介绍如何利用Python这一强大的编程语言来抓取最新的A股交易数据,并通过数据分析技术为个人投资决策提供支持。
62 1
|
10天前
|
机器学习/深度学习 并行计算 大数据
【Python篇】深入挖掘 Pandas:机器学习数据处理的高级技巧
【Python篇】深入挖掘 Pandas:机器学习数据处理的高级技巧
40 3
|
10天前
|
数据采集 数据挖掘 大数据
【Python篇】详细学习 pandas 和 xlrd:从零开始
【Python篇】详细学习 pandas 和 xlrd:从零开始
41 2
|
10天前
|
数据采集 数据挖掘 API
Python数据分析加速器:深度挖掘Pandas与NumPy的高级功能
在Python数据分析的世界里,Pandas和NumPy无疑是两颗璀璨的明星,它们为数据科学家和工程师提供了强大而灵活的工具集,用于处理、分析和探索数据。今天,我们将一起深入探索这两个库的高级功能,看看它们如何成为数据分析的加速器。
21 1
|
5天前
|
数据采集 数据可视化 数据挖掘
Python 数据分析实战:使用 Pandas 进行数据清洗与可视化
【10月更文挑战第3天】Python 数据分析实战:使用 Pandas 进行数据清洗与可视化
25 0
|
9天前
|
安全 网络协议 IDE
使用Python编写网络扫描程序
使用Python编写网络扫描程序
19 0
|
9天前
|
JSON API 开发者
深入解析Python网络编程与Web开发:urllib、requests和http模块的功能、用法及在构建现代网络应用中的关键作用
深入解析Python网络编程与Web开发:urllib、requests和http模块的功能、用法及在构建现代网络应用中的关键作用
11 0

热门文章

最新文章