Python爬取京东商品信息

*使用Python爬取京东华为手机前十页的所有商品的链接、名称、价格、评价数以及店铺名称。

1.前期准备
(1)下载驱动
我使用的是谷歌浏览器,所以要下载谷歌驱动,用来告诉电脑在哪打开浏览器。
驱动文件下载地址:http://chromedriver.storage.googleapis.com/index.html
(需要下载与自己的浏览器版本相一致或者相近版本的驱动,要记住驱动下载之后存放的位置)
(2)安装第三方库
selenium,time,xlwt都是爬虫需要用到的库
在这里插入图片描述
安装方法1:
在pycharm最下面有一行选项,如下图,选择Terminal
在这里插入图片描述
选择完之后,在出来的页面输入pip install +你要安装的库,之后等待它自动安装就可以了
例如安装time库
在这里插入图片描述
安装方法2:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在搜索栏中搜索你要安装的库,找到之后点击左下角的Install Package
在这里插入图片描述
之后等待安装,若成功会显示
在这里插入图片描述
2.开始编程
(1)在谷歌中打开京东
在这里插入图片描述
executable_path就是你下载的驱动的存放位置

(2)在京东中搜索“华为手机”

我们要电脑模拟人去在搜索框中输入“华为手机”,就要使用输入框的xpath定位到输入框的位置,那这么获取元素的xpath呢?

在谷歌中打开京东网页,按住Ctrl+Shift+l打开网页源码,在代码的左上角有一个箭头的图标(这个图标是你在页面滑动到哪,对应的源代码哪处高亮显示,这就表示此处对应的源代码)

在这里插入图片描述
找到源代码后右击,再点Copy\Copy XPath就得到了输入框的xpath
在这里插入图片描述
得到xpath之后就可以写代码了,使用find_element_by_xpath方法通过xpath定位输入框,在里面输入“华为手机”,再定位搜索按钮的位置,单击它进行搜索(注意:由于网络问题网页加载可能过慢,建议跳转页面要休息几秒钟,这样防止下一步进行时网页还没跳转成功)

在这里插入图片描述
(3)获取单个商品信息
进入到商品页面之后,我们先爬取第一个商品信息

我们获取商品信息同样适用xpath定位元素位置,但这个时候尽量不要使用上面的方法获得xpath,因为那样获得的xpath在定位是会根据html一层一层的寻找,花费时间太久,我们可以自己写xpath来缩短定位时间。

我们可以看到,商品对应的价格信息存放在下图红色框框出来的div中,我们就可以直接定位到对应的div中去获取价格

在这里插入图片描述

//表示跨级搜索,/表示逐级搜索

在这里插入图片描述
找到价格信息的位置之后要获取其中的内容,则要使用get_attribute(“textContent”)方法

在这里插入图片描述
获得了单个商品的价格信息后,其他信息也重复相同步骤
(爬取一个页面多个商品在单个商品的外面加循环即可,爬取多个页面在上述基础上再加循环即可,获得的数据可以用列表存储起来,方便下面写入到表格中)
在这里插入图片描述
(4)数据写入表格

在这里插入图片描述
3.完整代码

from selenium import webdriver
from time import sleep
import xlwt  
  • 11
    点赞
  • 157
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值