前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python网络数据抓取(5):Pandas

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

作者头像
科学冷冻工厂
发布2024-05-08 11:25:27
860
发布2024-05-08 11:25:27
举报

Pandas

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

代码语言:javascript
复制
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 文件。

代码语言:javascript
复制
df = pd.DataFrame(arr)
df.to_csv(‘amazon_data.csv’, index=False, encoding=’utf-8')

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

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

代码语言:javascript
复制
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渲染的复杂网站。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-05-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 冷冻工厂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Pandas
  • 总结
相关产品与服务
验证码
腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档