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

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

作者: ddm2014 | 来源:发表于2018-04-01 21:22 被阅读0次

    前面用的是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

    .

    相关文章

      网友评论

          本文标题:用python写爬虫--3.1解析网页+pyquery

          本文链接:https://www.haomeiwen.com/subject/qfpncftx.html