在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能有所协助。
本文地址:http://www.anyuan2002.com/a/question/74046.html