python爬虫实战:之爬取京东商城实例教程!(含源代码)
前言:
本文主要介绍的是利用python爬取京东商城的方法,文中介绍的非常详细,下面话不多说了,来看看详细的介绍吧。
主要工具
- scrapy
- BeautifulSoup
- requests
分析步骤
1、打开京东首页,输入裤子将会看到页面跳转到了这里,这就是我们要分析的起点
2、我们可以看到这个页面并不是完全的,当我们往下拉的时候将会看到图片在不停的加载,这就是ajax,但是当我们下拉到底的时候就会看到整个页面加载了60条裤子的信息,我们打开chrome的调试工具,查找页面元素时可以看到每条裤子的信息都在<li class='gl-item'></li>这个标签中,如下图:
3、接着我们打开网页源码就会发现其实网页源码只有前30条的数据,后面30条的数据找不到,因此这里就会想到ajax,一种异步加载的方式,于是我们就要开始抓包了,我们打开chrome按F12,点击上面的NetWork,然后点击XHR,这个比较容易好找,下面开始抓包,如下图:
4、从上面可以找到请求的url,发现有很长的一大段,我们试着去掉一些看看可不可以打开,简化之后的:
这里的showitems是裤子的id,page是翻页的,可以看出来我们只需要改动两处就可以打开不同的网页了,这里的page很好找,你会发现一个很好玩的事情,就是主网页的page是奇数,但是异步加载的网页中的page是偶数,因此这里只要填上偶数就可以了,但是填奇数也是可以访问的。这里的show_items就是id了,我们可以在页面的源码中找到,通过查找可以看到id在li标签的data-pid中,详情请看下图:
上面我们知道怎样找参数了,现在就可以撸代码了
代码讲解:
1、首先我们要获取网页的源码,这里我用的requests库,安装方法为pip install requests,代码如下:
2、根据上面的分析可以知道,第二步就是得到异步加载的url中的参数show_items,就是li标签中的data-pid,代码如下:
3、下面就是获取前30张图片的url了,也就是主网页上的图片,其中一个问题是img标签的属性并不是一样的,也就是源码中的img中不都是src属性,一开始已经加载出来的图片就是src属性,但是没有加载出来的图片是data-lazy-img,因此在解析页面的时候要加上讨论。
代码如下:
前三十张图片找到了,现在开始找后三十张图片了,当然是要请求那个异步加载的url,前面已经把需要的参数给找到了,下面就好办了,直接贴代码:
4、通过上面就可以爬取了,但是还是要考虑速度的问题,这里我用了多线程,直接每一页面开启一个线程,速度还是可以的,感觉这个速度还是可以的,几分钟解决问题,总共爬取了100个网页,这里的存储方式是mysql数据库存储的,要用发哦MySQLdb这个库,详情自己百度。想要的源码的朋友可以在后台私信我!
以上就是本文的全部内容啦!
- python爬虫实战之爬取京东商城实例教程
- 【备忘】最新Python3网络爬虫实战案例高清视频教程
- Python3网络爬虫实战案例这套教程太全面了,真得收藏一下!
- Python实战:Python爬虫学习教程,获取电影排行榜
- Python3网络爬虫实战案例视频教程资源 百度云盘 崔庆才
- 2019最新Python全栈开发+爬虫工程师+自动化开发就业班项目实战教程(完整)
- 四周实现Python爬虫实战网站视频教程
- Python爬虫实战教程:爬取网易新闻
- python爬虫基础教程:requests库(二)代码实例
- Python爬虫教程——实战一之爬取糗事百科段子
- 《Python 3网络爬虫开发实战》中文PDF+源代码 下载
- python初级实战系列教程《二、爬虫之爬取网页小说》
- python3 [爬虫入门实战]爬虫之scrapy安装与配置教程
- 分享《Python 3网络爬虫开发实战》中文PDF+源代码
- 利用Python爬虫爬取淘宝商品做数据挖掘分析实战篇,超详细教程
- Python爬虫教程——实战二三四五
- Python3 大型网络爬虫实战 002 --- scrapy 爬虫项目的创建及爬虫的创建 --- 实例:爬取百度标题和CSDN博客
- 使用Python的urllib和urllib2模块制作爬虫的实例教程
- Python爬虫教程——实战一之爬取糗事百科段子
- python数据分析实战教程 python大数据分析实例教程 python量化分析实例教程 零基础python数据分析教程