Python 采集京东手机商品标题,价格,评论,商品图片等

这段Python代码主要用于从京东网站的搜索结果页面抓取关于手机商品的信息,包括商品标题,价格,评论数以及商品图片的链接。

代码都测试验证过都能正常跑通,实现效果,由于各大网站防爬机制随时可能更新,代码可能失效。思路可以参考

它首先向给定的URL发出请求,然后使用BeautifulSoup库来解析返回的HTML文档。在解析过程中,它查找包含商品信息的HTML元素,并从这些元素中提取出我们需要的信息。提取出的信息会被保存为一个Python列表,每一项都代表一个商品,每一项都是一个包含商品标题,价格,评论数以及商品图片链接的列表。商品采集封装API测试

名称类型必须描述
keyString调用key(必须以GET方式拼接在URL中)
secretString调用密钥
api_nameStringAPI接口名称(包括在请求地址中)[item_search,item_get,item_search_shop等]
cacheString[yes,no]默认yes,将调用缓存的数据,速度比较快
result_typeString[json,jsonu,xml,serialize,var_export]返回数据格式,默认为json,jsonu输出的内容中文可以直接阅读
langString[cn,en,ru]翻译语言,默认cn简体中文
versionStringAPI版本

然后,这个程序使用Pandas库将提取出的数据转换为一个DataFrame对象,这样就可以方便地处理数据,比如进行排序,过滤,统计等操作。最后,它将DataFrame对象保存为一个Excel文件,可以直接在Excel中打开查看。

在实现过程中,这段代码使用了requests库来发出HTTP请求,BeautifulSoup库来解析HTML文档,Pandas库来处理和保存数据。

你需要安装如下几个Python库:

requests:发送HTTP请求

BeautifulSoup:解析HTML代码

pandas:处理数据和保存数据到Excel

openpyxl:pandas的依赖库,用于写入Excel文件

如果这些库尚未安装,可以使用pip进行安装:

pip install requests beautifulsoup4 pandas openpyxl
import requestsfrom bs4 import BeautifulSoupimport pandas as pd# Xpanx.com 专业网络爬虫程序定制,加微信 LiteMango(付费)def get_data(url):    headers = {        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36",        "Referer": "https://search.jd.com"    }    r = requests.get(url, headers=headers)    r.encoding = 'utf-8'    soup = BeautifulSoup(r.text, "html.parser")    return soup
def parse_data(soup):    data = []    items = soup.find_all('li', {'class': 'gl-item'})    for item in items:        try:            title = item.find('div', {'class': 'p-name p-name-type-2'}).a.em.text            price = item.find('div', {'class': 'p-price'}).strong.i.text            comment = item.find('div', {'class': 'p-commit'}).strong.a.text            img_url = item.find('div', {'class': 'p-img'}).a.img['data-lazy-img']            data.append([title, price, comment, img_url])        except AttributeError:            continue    return data
def data_to_excel(data):    df = pd.DataFrame(data, columns=['Title', 'Price', 'Comment', 'Image URL'])    df.to_excel('jd_products.xlsx', index=False)
if __name__ == "__main__":    url = "https://search.jd.com/Search?keyword=%E6%89%8B%E6%9C%BA&enc=utf-8&wq=%E6%89%8B%E6%9C%BA&pvid=541bde5713154895ad650c43c4167c10"    soup = get_data(url)    data = parse_data(soup)    data_to_excel(data)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/641843.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++】一篇文章带你深入了解list

目录 一、list的介绍二、 标准库中的list类2.1 list的常见接口说明2.1.1 list对象的常见构造2.1.1.1 [无参构造函数](https://legacy.cplusplus.com/reference/list/list/list/)2.1.1.2 [有参构造函数(构造并初始化n个val)](https://legacy.cplusplus.com/reference/list/list/…

计算机工作者学习平台

给大家分享了几个非常有用的学习平台,可以作为参考,具体为: 1.中国大学MOOC 中国大学MOOC_优质在线课程学习平台 2.牛客 牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网 3.CSDN https://www…

书生浦语训练营第2期-第4节作业

一、基础作业 1.1 环境安装 # 如果你是在 InternStudio 平台,则从本地 clone 一个已有 pytorch 的环境: # pytorch 2.0.1 py3.10_cuda11.7_cudnn8.5.0_0 studio-conda xtuner0.1.17# 激活环境 conda activate xtuner0.1.17 # 进入home目录 cd ~ # …

CSS基础:width,height尺寸属性详解

你好,我是云桃桃。 一个希望帮助更多朋友快速入门 WEB 前端的程序媛。云桃桃,大专生,一枚程序媛,感谢关注。回复 “前端基础题”,可免费获得前端基础 100 题汇总,回复 “前端工具”,可获取 Web…

多因素不同水平的正交表设计(并列法)

文章目录 一、问题提出二、举例说明 一、问题提出 参考高等教育课本《实验设计与数据处理》 很多时候,我们要考察的因素水平数不尽相同,这时候一般采用混合水平正交表或者对普通的正交表作修改,其中,混合水平正交表由于水平数不规…

2024年前端技术发展趋势

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

【连接管理,三次握手,拥塞控制原理】

文章目录 连接管理TCP连接管理同意建立连接TCP3次握手3次握手解决:半连接和接受老数据问题TCP:关闭连接 拥塞控制原理拥塞控制的方法 连接管理 TCP连接管理 TCP连接管理 在正式交换数据之前,发送方和接收方握手建立通信关系: 同…

【Qt 学习笔记】Qt常用控件 | 显示类控件 | Calendar Widget的使用及说明

博客主页:Duck Bro 博客主页系列专栏:Qt 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ Qt常用控件 | 显示类控件 | Calendar Widget的使用及说明 文章编号&am…

Mysql学习一

目录 1.启动数据库: 2.命令行连接到MySQL(winr输入cmd) 3.MySQL的三重结构: 4.SQL语句分类: 1.启动数据库: winr——输入services.msc进入本地服务 2.命令行连接到MySQL(winr输入cmd&#x…

WebGL绘制和变换三角形

1、绘制多个点 构建三维模型的基本单位是三角形。不管三维模型的形状多么复杂,其基本组成部分都是三角形,只不过复杂的模型由更多的三角形构成而已。 gl.vertexAttrib3f()一次只能向顶点着色器传入一个顶点,而绘制三角形、矩形和立方体等&am…

2024-04-23 linux 查看内存占用情况的命令free -h和cat /proc/meminfo

一、要查看 Linux 系统中的内存占用大小,可以使用 free 命令或者 top 命令。下面是这两个命令的简要说明: 使用 free 命令: free -h这将显示系统当前的内存使用情况,包括总内存、已用内存、空闲内存以及缓冲区和缓存的使用情况。…

人工智能论文GPT-3(5):2020.5 Language Models are Few-Shot Learners;总结

6 更广泛的影响 语言模型对社会具有广泛的有益应用,包括代码和写作自动完成、语法辅助、游戏叙事生成、提高搜索引擎响应速度和回答问题等。但它们也可能具有潜在的有害应用。GPT-3 提高了文本生成质量和适应性,使得相较于较小的模型更难将合成文本与人…