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单元测试框架unittest简明使用实例
Apr 13 Python
Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程
Jul 11 Python
深入理解Python中变量赋值的问题
Jan 12 Python
基于Django用户认证系统详解
Feb 21 Python
Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
Mar 19 Python
用Python和WordCloud绘制词云的实现方法(内附让字体清晰的秘笈)
Jan 08 Python
Python Pandas 转换unix时间戳方式
Dec 07 Python
python logging设置level失败的解决方法
Feb 19 Python
详解pandas中iloc, loc和ix的区别和联系
Mar 09 Python
JetBrains PyCharm(Community版本)的下载、安装和初步使用图文教程详解
Mar 19 Python
基于Keras的格式化输出Loss实现方式
Jun 17 Python
Python如何在单元测试中给对象打补丁
Aug 03 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 self与$this的详解
2013/06/08 PHP
探讨php中遍历二维数组的几种方法详解
2013/06/08 PHP
教你如何解密 “ PHP 神盾解密工具 ”
2014/06/20 PHP
php数组键名技巧小结
2015/02/17 PHP
PHP会话操作之cookie用法分析
2016/09/28 PHP
JavaScript网页制作特殊效果用随机数
2007/05/22 Javascript
JavaScript中使用构造器创建对象无需new的情况说明
2012/03/01 Javascript
javascript 构造函数强制调用经验总结
2012/12/02 Javascript
修改js Calendar日历控件 兼容IE9/谷歌/火狐
2013/01/04 Javascript
用jQuery模拟select下拉框的简单示例代码
2014/01/26 Javascript
Jquery实现地铁线路指示灯提示牌效果的方法
2015/03/02 Javascript
jQuery构造函数init参数分析
2015/05/13 Javascript
用户代理字符串userAgent可实现的四个识别
2015/09/20 Javascript
jquery validate表单验证的基本用法入门
2016/01/18 Javascript
第七篇Bootstrap表单布局实例代码详解(三种表单布局)
2016/06/21 Javascript
详解vue.js组件化开发实践
2016/12/14 Javascript
bootstrap table表格使用方法详解
2017/04/26 Javascript
写给小白看的JavaScript异步
2017/11/29 Javascript
Vue组件中slot的用法
2018/01/30 Javascript
JS代码实现电脑配置检测功能
2018/03/21 Javascript
JavaScript fetch接口案例解析
2018/08/30 Javascript
jquery实现动态添加附件功能
2018/10/23 jQuery
Vue-CLI 3.X 部署项目至生产服务器的方法
2019/03/22 Javascript
JS 数组和对象的深拷贝操作示例
2020/06/06 Javascript
Vue中的nextTick作用和几个简单的使用场景
2021/01/25 Vue.js
python3.0 字典key排序
2008/12/24 Python
python实现查询苹果手机维修进度
2015/03/16 Python
python实现比较文件内容异同
2018/06/22 Python
python3中property使用方法详解
2019/04/23 Python
安装2019Pycharm最新版本的教程详解
2019/10/22 Python
python 实现任务管理清单案例
2020/04/25 Python
Paper Cape官网:美国婴儿和儿童服装品牌
2019/11/02 全球购物
市三好学生主要事迹
2014/01/28 职场文书
技能比武方案
2014/05/21 职场文书
项目经理任命书内容
2014/06/06 职场文书
继承权公证书范本
2015/01/23 职场文书