京东论坛交流区(如何利用CSS选择器抓取京东网商品信息)

日前,边肖利用Python正则表达式、BeautifulSoup和Xpath抓取了JD.COM的产品信息。今天,边肖用CSS选择器给大家展示如何实现JD.COM商品信息的精准匹配~ ~



CSS选择器

目前,除了官方文档之外,市面上和网上详细介绍BeautifulSoup使用的技术书籍和博客软文并不多,在这仅有的资料中,CSS选择器也寥寥无几。CCS选择器实际上是一个非常高效的网络爬虫页面解析工具。虽然资料不多,但官方文件很详细。但美中不足的是需要一定的基础才能理解,没有小巧精致的演示例子。



JD.COM商品地图

首先,进入JD.COM。com,输入要查询的产品,向服务器发送网页请求。这里边肖仍然使用关键字“狗粮”作为搜索对象,然后得到以下网站:https://search.jd.com/Search?.关键字=% E7% 8b% 97% E7% B2% AE&ENC = UTF-8,其中参数表示我们输入的关键字。在本例中,参数表示“狗粮”。具体详情请参考Python神教你如何用正则表达式获取JD.COM商品信息。所以只要输入关键字参数并编码,就可以得到目标URL。之后请求网页,得到响应,然后在下一步使用CSS选择器收集数据。

JD.COM官网部分网页信息的源代码如下图所示:



部分网页源代码

仔细观察源代码,我们需要的目标信息就在红框下面,然后我们要一层一层的获取我们想要的信息。

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



CSS选择器在线副本

很多朋友觉得CSS表达式很难写。其实掌握基本用法并不难。在线复制CSS表达式,如上图所示,复制CSS表达式非常方便。但是这种方法得到的CSS表达式不能在程序中使用,而且太长了,读不下去。所以CSS表达式通常都得自己用。

直接编码,用CSS提取目标信息,比如商品的名称、链接、图片、价格等。具体代码如下图所示:



代码实现

如果你想快速实现一个更强大的网络爬虫,那么BeautifulSoupCSS选择器将是你必不可少的工具之一。BeautifulSoup集成了CSS选择器的语法和自己方便的API。在网络爬虫的开发过程中,对于熟悉CSS选择器语法的人来说,使用CSS选择器是一种非常方便的方法。

最终渲染如下:



最终效果图

新鲜狗粮又出来了~



CSS选择器

京东卖家论坛

CSS选择器简介:

BeautifulSoup支持大多数CSS选择器。语法是:将字符串参数传递到。tag对象或BeautifulSoup对象的select()方法,选择的结果以列表的形式返回,即返回类型为list。

tag . select(& # 34;字符串& # 34;)

beautiful soup . select(& # 34;字符串& # 34;)

注意:当获取具有特定CSS属性的元素时,标记名是不修饰的,比如在类名前加一个点,在id名前加/#。

想了解更多关于Python网络爬虫和数据挖掘的知识,可以去专业网站:http://pdcfighting.com/.

您可以还会对下面的文章感兴趣

使用微信扫描二维码后

点击右上角发送给好友