Python CSS选择器爬取京东网商品信息过程解析

作者:dcpeng 时间:2022-01-17 21:18:17 

CSS选择器

目前,除了官方文档之外,市面上及网络详细介绍BeautifulSoup使用的技术书籍和博客软文并不多,而在这仅有的资料中介绍CSS选择器的少之又少。在网络爬虫的页面解析中,CCS选择器实际上是一把效率甚高的利器。虽然资料不多,但官方文档却十分详细,然而美中不足的是需要一定的基础才能看懂,而且没有小而精的演示实例。

Python CSS选择器爬取京东网商品信息过程解析

京东商品图

首先进入京东网,输入自己想要查询的商品,向服务器发送网页请求。在这里小编仍以关键词“狗粮”作为搜索对象,之后得到后面这一串网址:
https://search.jd.com/Search?keyword=%E7%8B%97%E7%B2%AE&enc=utf-8,其中参数的意思就是我们输入的keyword,在本例中该参数代表“狗粮”,具体详情可以参考Python大神用正则表达式教你搞定京东商品信息。所以,只要输入keyword这个参数之后,将其进行编码,就可以获取到目标URL。之后请求网页,得到响应,尔后利用CSS选择器进行下一步的数据采集。

商品信息在京东官网上的部分网页源码如下图所示:

Python CSS选择器爬取京东网商品信息过程解析

部分网页源码

仔细观察源码,可以发现我们所需的目标信息在红色框框的下面,那么接下来我们就要一层一层的去获取想要的信息。

在Python的urllib库中提供了quote方法,可以实现对URL的字符串进行编码,从而可以进入到对应的网页中去。

Python CSS选择器爬取京东网商品信息过程解析

CSS选择器在线复制

很多小伙伴都觉得CSS表达式很难写,其实掌握了基本的用法也就不难了。在线复制CSS表达式如上图所示,可以很方便的复制CSS表达式。但是通过该方法得到的CSS表达式放在程序中一般不能用,而且长的没法看。所以CSS表达式一般还是要自己亲自上手。

直接上代码,利用CSS去提取目标信息,如商品的名字、链接、图片和价格,具体的代码如下图所示:

Python CSS选择器爬取京东网商品信息过程解析

代码实现

如果你想快速的实现功能更强大的网络爬虫,那么BeautifulSoupCSS选择器将是你必备的利器之一。BeautifulSoup整合了CSS选择器的语法和自身方便使用API。在网络爬虫的开发过程中,对于熟悉CSS选择器语法的人,使用CSS选择器是个非常方便的方法。

最后得到的效果图如下所示:

Python CSS选择器爬取京东网商品信息过程解析

最终效果图

新鲜的狗粮再一次出炉咯~~~

Python CSS选择器爬取京东网商品信息过程解析

CSS选择器

关于CSS选择器的简单介绍:

BeautifulSoup支持大部分的CSS选择器。其语法为:向tag对象或BeautifulSoup对象的.select()方法中传入字符串参数,选择的结果以列表形式返回,即返回类型为list。

tag.select("string")

BeautifulSoup.select("string")

注意:在取得含有特定CSS属性的元素时,标签名不加任何修饰,如class类名前加点,id名前加 /#。

来源:https://www.cnblogs.com/dcpeng/p/12985344.html

标签:Python,CSS,选择器,爬取
0
投稿

猜你喜欢

  • python jupyter入门教程

    2022-08-19 20:42:04
  • 一个轻量级的XHTML右键菜单[支持IE和firefox]

    2024-04-19 10:58:32
  • python3转换code128条形码的方法

    2021-01-07 07:14:47
  • asp中设置session过期时间方法总结

    2013-06-01 19:52:04
  • Pyecharts可视化图片渲染的方法详解

    2021-02-02 22:39:30
  • mysql 5.7版本修改密码的简单方法

    2024-01-28 06:14:38
  • python爬取淘宝商品详情页数据

    2021-05-28 14:38:08
  • Sql Server里删除数据表中重复记录的例子

    2024-01-19 18:37:31
  • Python实现定时任务的八种方案详解

    2022-04-19 06:54:03
  • 解析Python3中的Import

    2023-01-10 05:11:47
  • sql server实现在多个数据库间快速查询某个表信息的方法

    2024-01-25 05:23:10
  • Python数据类型之列表和元组的方法实例详解

    2021-01-18 01:56:10
  • Django开发中的日志输出的方法

    2023-02-24 07:37:17
  • python爬虫超时的处理的实例

    2023-02-07 15:19:11
  • 详解Python计算机视觉 图像扭曲(仿射扭曲)

    2021-06-13 15:57:43
  • 如何用idea数据库编写快递e站

    2024-01-23 08:43:56
  • Flask框架运用WTForms实现用户注册的示例详解

    2021-07-31 06:50:12
  • python GUI库图形界面开发之PyQt5中QWebEngineView内嵌网页与Python的数据交互传参详细方法实例

    2021-07-28 18:28:45
  • 轻松处理Dreamweaver段落缩进

    2007-11-17 07:53:00
  • Python使用xlrd读取Excel格式文件的方法

    2022-12-27 16:54:51
  • asp之家 网络编程 m.aspxhome.com