Python3获取京东商品列表信息,并根据列表信息地址提取信息详情页的相关图片(京东商品详情信息图片采用JS动态加载需控制网页滚动至一定位置才能加载,初始的静态页面没有商品图片)因此本文采用两种方法加载网页:一种是加载商品列表页(如图1所示),并提取其中的商品列表地址;另一种是根据商品详情页的内容(如图2)控制滚动条滚动至页面底端,确保商品详情图片加载完毕然后获取网页信息,提取图片地址最后完成下载,下载流程如图3主要基于python3采用requests、BeautifulSoup、webdriver包。
第一步:獲取商品列表页内容该页面为静态页面,采用requests包实现并采用beautifulsoup包筛选网页内容,获取商品详情页地址代码如下
第二步:根据商品详情頁地址,采用webdriver包模拟人工操作(基于谷歌浏览器),将页面滚动至网页底端加载商品详情相关内容(注:商品详情内容为动态加载,當仅仅打开页面时商品详情相关内容并不主动加载,因此需人工模拟滚动)代码如下:
# 获取网页源代码,动态内容获取
# 执行页面向下滑至底部的动作
# 停顿5秒等待页面加载完毕!!!(必须留有页面加载的时间否则获得的源代码会不完整。)
第三步:在模拟人工网页滚動后根据获取的网页内容,采用beautifulsoup包筛选网页中图片地址,然后进行下载(本文在代码所在文件夹创建文件夹将下载图片保存至此)。
#下载新内容所在网页地址
至此操作完成本文主要针对网页动态资源进行学习,欢迎探讨完整代码详见作者上传资源。
发布了6 篇原创攵章 · 获赞 9 · 访问量 1万+