用python写爬虫--3.1解析网页+pyquery

前面用的是beautifulsoup来解析,最近用的pyquery,觉得也挺好用,就先试试pyquery。

这个库当然有很多用法,我只说我用的习惯的几个。

当然,首先想好自己爬的是什么,前面说了,我想要的是每项的价格跟标题。

额,解析有一个思路,叫从大div中选小项,就是说,我想要的是一页中每一项的价格和标题,就先找到每一项div的class名,再用迭代找到每一个div里的价格跟标题,有一点绕,举个例子。

先用F12看看页面。点element,再点最左边的箭头。再点选任一项,要点到div最外层框子上。就会出现如图。


这个feed-block-ver就是大项,里面的feed-ver-title就是标题,z-highlight z-ellipsis就是价格,这两个就是小项.用for循环来迭代。


为啥不直接找file('.feed-ver-title').text()?

因为所有内容会挤到一起,我不晓得怎么换的行。最后一行就是print(file('.feed-ver-title').text())的效果


现在来说pyquery,我用的上的是file = pq(re.text),这句是用pq来解析网页

1.file('.feed-block-ver').items()是页面中所有class为feed-block-ver的div,就包含了div里的所有信息,items()是个生成器,用于遍历所有上述div

2.hr = item('a').attr('href')  attr这个是获取a标签的属性,这里提取的是href

3.file('.feed-block-ver').eq(0) .text()  eq(0)是file('.feed-block-ver')中的第一个,括号里是index,这个用于你要提取的信息,一般是没有特别的标识,class,p之类,只能通过数数来的,

4..text() 提取标签的文字信息,这个应该很简单了

另外还有一个事情值得注意,file('.feed-block-ver a')代表a前面有个空格表示.feed-block-ver下面的a标签

有了思路,后面提取就是很简单的事了,下一次讲讲提取的利器Infolite

.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容