python京东商品_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.mzph.cn/news/538793.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python加入中小学课程_【python即将进入中学课堂,编程从小抓起,竟然在这几点上应验了】- 环球网校...

【摘要】我们都知道,不论是我们使用的app,还是各种各样的游戏,小程序,都离不开编程软件的贡献,其中python占据了半壁江山,随着大家对python的重视,python即将进入中学课堂,这究竟是好…

用动态规划算法求解最少硬币问题 c语言,动态规划算法求解硬币找零问题

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼看着这代码怎么这么熟悉。package 动态规划找零;import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scan new Scanner(System.in);int change;change scan.nextInt();int[] coins …

git命令行使用

* git branch : 查看本地分支 * git branch -r : 查看远程分支 * git branch -a : 查看全部分支 * git branch name : 本地新建分支 * git checkout name : 切换到本地 name 分支 * git pull origin name : 从远程 name 拉取代码 * git merge name : 合并name * git diff : 查看…

8.对Hello World程序的深入

Welcome.java public class Welcome{public static void main(String[] args){System.out.println("Hello World,I am Java!");}}1、Java对大小写敏感。如果出现了大小写拼写错误,程序无法运行。 关键字class表明Java程序中的全部内容都包含在类中&…

python整数类型没有取值范围限制_详解Python中6种数据类型

Python中数据类型主要有六种:数字类型,字符串类型,元组类型,列表类型,文件类型和字典类型,我们今天先介绍前四种类型。 假如在Python程序中,出现了“010”,那么这个“010”到底是什么…

bb平台c语言第2章 习题,C语言各章习题集

C语言习题集第 1 章C语言概述一. 填空题1. C程序是由构成的,一个C程序中至少包含。是C程序的基本单位。2. 任何C程序必须有且只有一个_______函数。3. C程序注释是由和所界定的文字信息组成的。二. 判断题1.2.3.4.5. 一个C程序的执行总是从该程序的main函数开始&…

陶晶驰stm32_陶晶驰串口屏学习日记(1)

关于文本控件的key属性和按钮控件的注意事项:1 一定加入的是文本控件,把vscope设置成全局才能使用key属性里的键盘。我刚开始用了文本控件设置了key为keybdB,然后又自己弄了个按钮控件,在弹起事件里写了page keybdB,在编译没错&am…

failed to keep to the max pss of 66560

错误警报D/ModuleListener: ModuleListener.testFailed(com.google.android.memory.gts.AllAppsMemoryHostTest#testPeakPssOfAllApps, java.lang.AssertionError: com.google.android.youtube81073, failed to keep to the max pss of 66560 at org.junit.Assert.fail(Assert.…

9.关于Unicode字符集

原文链接:http://blog.csdn.net/yang3wei/article/details/47414483 点击阅读原文 ------------------------------------- 1)Java 中 char 占两个字节,既可以表示中文字符,也可以表示英文字符 2)Unicode只是一个编码…

10.java 关键字与保留字

Java 关键字列表 (依字母排序 共51组)所有的关键字都是小写。 在IDE中都会显示不同的颜色: abstract, assert, boolean, break, byte, case, catch, char, class, const, continue, default, do, double, else, enum,extends, final, finally, float, for, if,imple…

python爬虫的用途_python爬虫用途

广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元!专业点来说就是应用多台机器同时实现爬虫任务,这多台机器上的爬虫,就是称作分布式爬虫…

android获取短信息,从其ID Android获取短信详细信息

我想得到短信的细节(数字,正文,来的时间);我只知道短信的身份.我可以使用此ID查询“content:// sms”并获取详细信息吗?目前,我可以循环查询每条消息并获取详细信息.但是当你必须从1000 sms获得单次sms细节10次时效率不高…..希望你能理解这个问题.感谢名…

二元函数泰勒公式例题_高等数学期末总复习 DAY 5. 罗尔定理证明题 拉格朗日、柯西中值定理 泰勒公式及麦克劳林公式...

DAY 5.DAY 5.1.罗尔定理2.拉格朗日定理3.柯西中值定理4.泰勒公式及麦克劳林公式1.罗尔定理罗尔定理描述如下:如果 R 上的函数 f(x) 满足以下条件:(1)在闭区间 [a,b] 上连续,(2)在开区间 (a,b) 内…

Hazelcast发布Jet 0.6版本

\看新闻很累?看技术新闻更累?试试下载InfoQ手机客户端,每天上下班路上听新闻,有趣还有料!\\\分布式计算技术和工具开发商Hazelcast正式发布了他们的开源流式处理引擎Jet 0.6。\\Jet自2017年2月起就已可用,而…

11.标识符_unicode和GBK_各种字符集的关系

标识符 作用: 给变量,类和方法命名。 Java标识符命名规则: --必须以字母,下划线_,美元符$开头。 --其他部分可以是字母,下划线,美元符和数字的任意组合。 --Java标识符大小写敏感&#xf…

python怎么转到下一行_Python转到下一行并保存/编辑内容

这个代码是在以前的帖子中建立的。我正在努力调整它以适应我们的数据。但这不管用。。以下是我们的文件示例:read:1424:2165 TGACCA/1:2165 TGACCA/2 1..100 chr1:3033296..3033395 #just this line 1..100 -chr1:3127494..3127395 1..100 chr1:3740372..3740471 1 …

android应用程序是什么,简述Android应用程序结构是什么?公共题库

试题分类:Android简述Android应用程序结构是什么?解析:Android应用程序结构是:LinuxKernel(Linux内核)、Libraries(系统运行库或者是c/c核心库)、ApplicationFramework(开发框架包)、Applications(核心应用程序)以下这些控件可以放置按钮?答…

《程序设计与数据结构》第八周学习总结

学号 20172326 《程序设计与数据结构》第八周学习总结 教材学习内容总结 后绑定在程序执行时执行多态性可由继承与接口实现排序有选择法排序与插入法排序搜索分为线性搜索与二分搜索算法,同一类型的不同方法可能解决同一问题,但是,效率与难以…

python获取文件名不含后缀名_大部分Python资料都没有说到的重点-用实战教你解决问题的思路...

前言最近有些刚入门Python的小伙伴问我,他已经学会了大部分语法,基本的列表,元组也会使用,但是在实际中需要做一点小需求的时候,仍然不知所措。解决问题重要的并非是如何写代码,而是如何分析和拆解问题&…

12.JAVA基本数据类型

Java是一种强类型语言,每个变量都必须声明类型。 String 不是java的基本数据类型!!! 除了8种基本数据类型之外,其他的都是引用类型。 引用类型的初始值是null byte,short,int类型的默认值为0 …