前几天使用Python正则表达式、BeautifulSoup、Xpath抓取京东商品信息。今天用CSS选择器来给大家介绍如何实现京东商品信息的精准匹配~~CSS选择器目前市面上和网上除了官方文档外,介绍该选择器的技术书籍和博客软文并不多详细介绍BeautifulSoup的使用,以及介绍CSS选择的唯一资料工具很少。在网络爬虫的页面解析中,CCS选择器其实是一个非常高效的利器。虽然资料不多,但是官方文档写的很详细。不过美中不足的是需要一定的基础才能看懂,而且没有小而精的演示例子。京东商品地图首先进入京东,输入要查询的商品,向服务器发送网页请求。在这里,小编依旧以关键词“狗粮”作为搜索对象,然后得到如下网址:https://search.jd.com/Search?keyword=%E7%8B%97%E7%B2%AE&enc=utf-8,这里的参数就是我们输入的关键字。在这个例子中,参数代表“狗粮”。具体可以参考python高手用正则表达式教大家如何获取京东商品信息。因此,只要输入关键字参数并进行编码,就可以得到目标URL。然后请求网页,得到响应,然后使用CSS选择器进行下一步的数据采集。京东官网部分商品信息源码如下图所示:仔细观察网页部分源码,可以发现红框下方是我们需要的目标信息。然后我们需要逐层获取想要的信息。你想要的信息。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("string")BeautifulSoup.select("string")注意:在获取具有特定CSS属性的元素时,标签名不会被修改,比如class名前加点,id名前加/#.如果想深入了解Python网络爬虫和数据挖掘,可以去专业网站:http://pdcfighting.com/
