Python爬虫系列14-采集JD商城百万商品数据详情

简介: 有时候不能什么都听别人的,更不能因为别人的意见而打乱了自己原有的计划。学习亦是如此。自己要学会为自己负责,不要听别人说什么就是什么。如果真是那样,那么你自己的人生会过得非常的不好,会一团糟。别人的只是建议,最终还是由自己决定。

实战

image.png

分析网页结构,找到需要抓取的数据

通过键盘上的F12,进入抓包工具;选择network。找到网址链接,复制,这里我通过工具生成了,爬虫的第一步。
image.png

第一步:请求网页,获取数据

import requests

cookies = {
   'ipLoc-djd': '18-1482-0-0',
   '__jda': '122270672.16518397672031804136707.1651839767.1651839767.1651839767.1',
   'qrsc': '1',
   'rkv': '1.0',
   'areaId': '18',
}

headers = {
   'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0',
   'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8',
   'Sec-Fetch-Dest': 'document',
   'Sec-Fetch-Mode': 'navigate',
   'Sec-Fetch-Site': 'none',
   'Sec-Fetch-User': '?1',
   'Cache-Control': 'max-age=0',
}

params = {
   'keyword': '电脑',
}
# 1、 请求网络  - 得到网站返回的数据
response = requests.get('https://search.jd.com/Search', params=params, cookies=cookies, headers=headers)
# 打印 富文本
print(response.text)

如果学习上有遇到问题,想联系我可以加v:yiyi990805(备注:阿里云tony)即可。

第二步:提取商品数据

from bs4 import BeautifulSoup


soup = BeautifulSoup(response.text,'html.parser')
# 循环嵌套
for div in soup.find_all('div',class_="ml-wrap"):
    print(div)

image.png

    for div2 in soup.find_all('div',class_="goods-list-v2 gl-type-1 J-goods-list"):
        for price in soup.find_all('div',class_="p-name p-name-type-2"):
            for prices in soup.find_all('em'):
                print(prices.text)

如果学习上有遇到问题,想联系我可以加v:yiyi990805(备注:阿里云tony)即可。

第三步: 持久化保存数据

这里使用了简单的txt文件保存

file = open('京东.txt','a',encoding='utf-8')
file.write(prices.text+'\n')

如果学习上有遇到问题,想联系我可以加v:yiyi990805(备注:阿里云tony)即可。

如果学习上有遇到问题,想联系我可以加v:yiyi990805(备注:阿里云tony)即可。

如果本文对你学习有所帮助-可以点赞👍+ 关注!将持续更新更多新的文章。

相关文章
|
18天前
|
数据采集 中间件 Python
Scrapy爬虫:利用代理服务器爬取热门网站数据
Scrapy爬虫:利用代理服务器爬取热门网站数据
|
4天前
|
数据采集 存储 C++
单线程 vs 多进程:Python网络爬虫效率对比
本文探讨了Python网络爬虫中的单线程与多进程应用。单线程爬虫实现简单,但处理速度慢,无法充分利用多核CPU。而多进程爬虫通过并行处理提高效率,更适合现代多核架构。代码示例展示了如何使用代理IP实现单线程和多进程爬虫,显示了多进程在效率上的优势。实际使用时还需考虑代理稳定性和反爬策略。
单线程 vs 多进程:Python网络爬虫效率对比
|
5天前
|
数据采集 存储 中间件
Python高效爬虫——scrapy介绍与使用
Scrapy是一个快速且高效的网页抓取框架,用于抓取网站并从中提取结构化数据。它可用于多种用途,从数据挖掘到监控和自动化测试。 相比于自己通过requests等模块开发爬虫,scrapy能极大的提高开发效率,包括且不限于以下原因: 1. 它是一个异步框架,并且能通过配置调节并发量,还可以针对域名或ip进行精准控制 2. 内置了xpath等提取器,方便提取结构化数据 3. 有爬虫中间件和下载中间件,可以轻松地添加、修改或删除请求和响应的处理逻辑,从而增强了框架的可扩展性 4. 通过管道方式存储数据,更加方便快捷的开发各种数据储存方式
|
5天前
|
数据采集 XML 前端开发
Python爬虫:BeautifulSoup
这篇内容介绍了Python中BeautifulSoup库的安装和使用。首先,通过在命令行输入`pip install bs4`进行安装,或使用清华源加速。接着讲解BeautifulSoup的基本概念,它是一个用于数据解析的工具,便于处理HTML和XML文档。与正则表达式不同,BeautifulSoup提供更方便的方式来查找和操作标签及其属性。 文章详细阐述了BeautifulSoup的两个主要方法:`find`和`find_all`。`find`方法用于查找单个指定标签,可结合属性字典进行精确选择;`find_all`则返回所有匹配标签的列表。通过这些方法,可以方便地遍历和提取网页元素。
15 0
|
5天前
|
数据采集 前端开发 JavaScript
Python爬虫入门
网络爬虫是自动抓取网页数据的程序,通过URL获取网页源代码并用正则表达式提取所需信息。反爬机制是网站为防止爬取数据设置的障碍,而反反爬是对这些机制的对策。`robots.txt`文件规定了网站可爬取的数据。基础爬虫示例使用Python的`urllib.request`模块。HTTP协议涉及请求和响应,包括状态码、头部和主体。`Requests`模块是Python中常用的HTTP库,能方便地进行GET和POST请求。POST请求常用于隐式提交表单数据,适用于需要发送复杂数据的情况。
15 1
|
16天前
|
数据采集 数据挖掘 Python
使用Python构建简单网页爬虫的技术指南
【5月更文挑战第17天】使用Python构建简单网页爬虫的教程,涉及`requests`和`BeautifulSoup4`库。首先安装所需库,然后发送HTTP GET请求获取HTML内容。利用`BeautifulSoup`解析HTML,找到目标元素,如`<h2>`标签内的新闻标题。处理相对链接,将它们转化为绝对URL。添加异常处理以应对网络问题,同时遵循网站的`robots.txt`规则。此爬虫适用于数据分析和市场研究等场景。
|
监控 数据库 双11
用 Python 制作商品历史价格查询
一年一度的双十一就快到了,各种砍价、盖楼、挖现金的口令将在未来一个月内充斥朋友圈、微信群中。玩过多次双十一活动的小编表示一顿操作猛如虎,一看结果2毛5。浪费时间不说而且未必得到真正的优惠,双十一电商的“明降暗升”已经是默认的潜规则了。打破这种规则很简单,可以用 Python 写一个定时监控商品价格的小工具。
392 0
用 Python 制作商品历史价格查询
|
12天前
|
存储 算法 安全
Python编程实验六:面向对象应用
Python编程实验六:面向对象应用
38 1
|
2天前
|
存储 索引 Python
元组(Tuple)在Python编程中的应用与实例
元组(Tuple)在Python编程中的应用与实例
10 2
|
2天前
|
机器学习/深度学习 数据可视化 数据挖掘
Python编程的深入探索与实用案例
Python编程的深入探索与实用案例
10 3