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

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

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

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

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

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


用python写爬虫--3.1解析网页+pyquery_第1张图片

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


用python写爬虫--3.1解析网页+pyquery_第2张图片

为啥不直接找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

.

你可能感兴趣的:(用python写爬虫--3.1解析网页+pyquery)