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

yipeiwu_com5年前Python爬虫

前言

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

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

示例代码

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()

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

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

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

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

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

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

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

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爬虫的一个常见简单js反爬详解

前言 我们在写爬虫是遇到最多的应该就是js反爬了,今天分享一个比较常见的js反爬,这个我已经在多个网站上见到过了。 我把js反爬分为参数由js加密生成和js生成cookie等来操作浏览器...

Python实现爬虫抓取与读写、追加到excel文件操作示例

本文实例讲述了Python实现爬虫抓取与读写、追加到excel文件操作。分享给大家供大家参考,具体如下: 爬取糗事百科热门 安装 读写excel 依赖 pip install xlwt...

在Python3中使用asyncio库进行快速数据抓取的教程

web数据抓取是一个经常在python的讨论中出现的主题。有很多方法可以用来进行web数据抓取,然而其中好像并没有一个最好的办法。有一些如scrapy这样十分成熟的框架,更多的则是像me...

一个简单的python爬虫程序 爬取豆瓣热度Top100以内的电影信息

一个简单的python爬虫程序 爬取豆瓣热度Top100以内的电影信息

概述 这是一个简单的python爬虫程序,仅用作技术学习与交流,主要是通过一个简单的实际案例来对网络爬虫有个基础的认识。 什么是网络爬虫 简单的讲,网络爬虫就是模拟人访问web站点的行为...

Python网络爬虫出现乱码问题的解决方法

关于爬虫乱码有很多各式各样的问题,这里不仅是中文乱码,编码转换、还包括一些如日文、韩文 、俄文、藏文之类的乱码处理,因为解决方式是一致的,故在此统一说明。 网络爬虫出现乱码的原因 源...