前几天小编分别利用Python正则表达式、BeautifulSoup、Xpath分别爬取了京东网商品信息,今天小编利用CSS选择器来为你们展现一下如何实现京东商品信息的精准匹配~~正则表达式
CSS选择器服务器
目前,除了官方文档以外,市面上及网络详细介绍BeautifulSoup使用的技术书籍和博客软文并很少,而在这仅有的资料中介绍CSS选择器的少之又少。在网络爬虫的页面解析中,CCS选择器其实是一把效率甚高的利器。虽然资料很少,但官方文档却十分详细,然而美中不足的是须要必定的基础才能看懂,并且没有小而精的演示实例。网络
京东商品图学习
首先进入京东网,输入本身想要查询的商品,向服务器发送网页请求。在这里小编仍以关键词“狗粮”做为搜索对象,以后获得后面这一串网址:https://search.jd.com/Search?keyword=%E7%8B%97%E7%B2%AE&enc=utf-8
,其中参数的意思就是咱们输入的keyword,在本例中该参数表明“狗粮”,具体详情能够参考Python大神用正则表达式教你搞定京东商品信息。因此,只要输入keyword这个参数以后,将其进行编码,就能够获取到目标URL。以后请求网页,获得响应,尔后利用CSS选择器进行下一步的数据采集。网站
商品信息在京东官网上的部分网页源码以下图所示:编码
部分网页源码url
仔细观察源码,能够发现咱们所需的目标信息在红色框框的下面,那么接下来咱们就要一层一层的去获取想要的信息。spa
在Python的urllib库中提供了quote方法,能够实现对URL的字符串进行编码,从而能够进入到对应的网页中去。code
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/