Python爬取京东的商品分类与链接


Posted in Python onAugust 26, 2016

前言

本文主要的知识点是使用Python的BeautifulSoup进行多层的遍历。

Python爬取京东的商品分类与链接

如图所示。只是一个简单的哈,不是爬取里面的隐藏的东西。

示例代码

from bs4 import BeautifulSoup as bs
import requests
headers = {
  "host": "www.jd.com",
  "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36 Core/1.47.933.400 QQBrowser/9.4.8699.400",
  "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
  }
session = requests.session()
def get_url():
  renspned = bs(session.get('http://www.jd.com/',headers = headers).text,'html.parser')
  for i in renspned.find("div", {"class": "dd-inner"}).find_all("a",{"target":"_blank"}):
    print(i.get_text(),':',i.get('href'))
get_url()

运行这段代码以及达到了我们的目的。

Python爬取京东的商品分类与链接

我们来解读一下这段代码。

首先我们要访问到京东的首页。

然后通过BeautifulSoup对访问到的首页进行解析。

这个时候,我们就要定位元素,来获取我们需要的东西了。

在浏览器中通过F12,我们可以看到下图所示的东西:

Python爬取京东的商品分类与链接

我们来看看下面这句代码:

for i in renspned.find("div", {"class": "dd-inner"}).find_all("a",{"target":"_blank"})

这一行代码完全满足我们的需求,首先用find方法,定位到了class=“dd-inner”的div,然后使用find_all对该标签下所有的a标签。

最后,我想打印出所有的商品分类以及对应的链接,于是,我使用了i.get_text()i.get('href')的方法终于获取到了商品分类和对应的链接。

总结

其实不是很难,主要是要用对方法。笔者因为是初学方法没有用对。花了差不多两天时间才搞定。这里也是告诉大家,可以使用find().find_all()的方法进行多层的遍历。以上就是我利用Python爬取京东的商品分类与链接的一些经验,希望对大家学习python能有所帮助。

Python 相关文章推荐
python 切片和range()用法说明
Mar 24 Python
简介Django框架中可使用的各类缓存
Jul 23 Python
pandas 转换成行列表进行读取与Nan处理的方法
Oct 30 Python
使用python3实现操作串口详解
Jan 01 Python
用Python实现大文本文件切割的方法
Jan 12 Python
浅谈Pandas Series 和 Numpy array中的相同点
Jun 28 Python
PyQT5 emit 和 connect的用法详解
Dec 13 Python
Python实现i人事自动打卡的示例代码
Jan 09 Python
python datetime处理时间小结
Apr 16 Python
解决Python中导入自己写的类,被划红线,但不影响执行的问题
Jul 13 Python
详解python安装matplotlib库三种失败情况
Jul 28 Python
关于python3 opencv 图像二值化的问题(cv2.adaptiveThreshold函数)
Apr 04 Python
Python设计模式之抽象工厂模式
Aug 25 #Python
简单谈谈python中的Queue与多进程
Aug 25 #Python
利用Python自动监控网站并发送邮件告警的方法
Aug 24 #Python
巧用python和libnmapd,提取Nmap扫描结果
Aug 23 #Python
Python中属性和描述符的正确使用
Aug 23 #Python
Python实现基本线性数据结构
Aug 22 #Python
Python进行数据提取的方法总结
Aug 22 #Python
You might like
《PHP编程最快明白》第三讲:php数组
2010/11/01 PHP
使用PHP和JavaScript判断请求是否来自微信内浏览器
2015/08/18 PHP
WordPress开发中自定义菜单的相关PHP函数使用简介
2016/01/05 PHP
PHP和MySql中32位和64位的整形范围是多少
2016/02/18 PHP
Zend Framework上传文件重命名的实现方法
2016/11/25 PHP
设定php简写功能的方法
2019/11/28 PHP
JQuery 无废话系列教程(一) jquery入门 [推荐]
2009/06/23 Javascript
Table冻结表头示例代码
2013/08/20 Javascript
利用jQuery对无序列表排序的简单方法
2016/10/16 Javascript
Jquery on绑定的事件 触发多次实例代码
2016/12/08 Javascript
Bootstrap实现翻页效果
2017/11/27 Javascript
微信小程序使用checkbox显示多项选择框功能【附源码下载】
2017/12/11 Javascript
原生JS实现的雪花飘落动画效果
2018/05/03 Javascript
Node.js搭建WEB服务器的示例代码
2018/08/15 Javascript
解决vue 绑定对象内点击事件失效问题
2018/09/05 Javascript
bootstrap-table后端分页功能完整实例
2020/06/01 Javascript
Python中基础的socket编程实战攻略
2016/06/01 Python
Python多线程经典问题之乘客做公交车算法实例
2017/03/22 Python
回调函数的意义以及python实现实例
2017/06/20 Python
python添加菜单图文讲解
2019/06/04 Python
python sorted方法和列表使用解析
2019/11/18 Python
pandas实现DataFrame显示最大行列,不省略显示实例
2019/12/26 Python
Tensorflow累加的实现案例
2020/02/05 Python
基于Python模拟浏览器发送http请求
2020/11/06 Python
阿联酋航空丹麦官方网站:Emirates DK
2019/08/25 全球购物
linux面试题参考答案(9)
2016/01/29 面试题
ruby如何进行集成操作?Ruby能进行多重继承吗?
2013/10/16 面试题
团队拓展活动总结
2014/08/27 职场文书
信贷客户经理岗位职责
2015/04/09 职场文书
班级班风口号大全
2015/12/25 职场文书
工伤调解协议书
2016/03/21 职场文书
大学生创业计划书
2019/06/24 职场文书
提升Nginx性能的一些建议
2021/03/31 Servers
Python 机器学习工具包SKlearn的安装与使用
2021/05/14 Python
P站美图推荐——变身女主角特辑
2022/03/20 日漫
DQL数据查询语句使用示例
2022/12/24 MySQL