当前位置:   article > 正文

Python爬虫——几种不同网页结构爬虫简介_网页爬虫select.#谁是class,谁是div

网页爬虫select.#谁是class,谁是div

     大数据时代的到来,数据量暴增,导致传统的搜索引擎中附带大量无关信息。因此爬虫技术出现了!那么本文我将对几种不同网页结构,并结合自己想要获取的信息提出以下几种不同的方法:

    1. select()

首先介绍一下BeautifulSoup库,它是可以在HTML中提取数据的Python库,通过对HTML文档进行解析,它可以按照我们对数据的偏好获取想要的数据。那么select方法正是BeautifulSoup库中一个重要的方法,select方法对BeautifulSoup解析后的HTML文档进行处理,通过对不同标签的不同属性进行选择,从而得到我们想要的数据,话不多说,直接上代码,我们将对新浪新闻的新闻标题信息进行获取。


我们可以看出,想要获取的新闻标题在标签a中,并且标签a在标签h2中,但我们可以发现h2标签中没有可以标识它的属性,而最外层div中含有可以标识它的属性class,因此我们通过select方法对class标签进行选择,代码如下:

补充:对于不同css,select方法有不同的方式,当为class时,需在前边加上" . ",而对id属性时,需在前面加上" # "。

这样我们就可以获得div中全部的HTML文档了,在将获取的list通过[0]解开,对解开的list进行取文本操作,就可以得到数据了,但我们想要的是标题信息,而标题在h2中,因此还需将news通过select方法获取h2标签,代码如下:

此时我们可以成功的打印出新闻的标题信息啦。


2.用lxml库xpath爬取知网相关内容:

                                    

首先我们需要引入的模块是requests,lxml
import requests
from lxml import html,如果您没有该模块,我们需要在cmd下pip,( pip install lxml 与 pip install requests 命令来安装这两个模块)

  

 

requests.get(url)获得该网页的数据信息,通过使用 html 模块解析它,并将结果保存到 tree 中
tree 现在包含了整个HTML文件到一个树结构中,我们可以使用XPath去获取到我们想要的数据。
已知网为例子我们获取该网页业的标题和摘要部分。

  

 

获取到标题和摘要我们需要写入正确的xpath,打开该网页鼠标右键检查元素我们选取我们想要的对应信息,分析该内容在html内的结构一层一层去写,例如标题:该标题是在<div class="wxTitle"><h2 class="title">标题名称</h2></div>对应的xpath:'//h2[@class="wxTitle"]/text()'//h2是选取所有 h2子元素,并且属性class的值为wxTitle的text()内容部分。




xpath具体细节请登陆:http://www.w3school.com.cn/xpath/xpath_syntax.asp 除此之丸有一种简单的办法有很多工具可以获取元素的XPath,如Firefox的FireBug或者Chrome的Inspector,如果你使用Chrome,你可以右键元素,选择 ‘Inspect element',高亮这段代码, 再次右击,并选择 ‘Copy XPath'。


最后print(title),输出结果如图(本文如有侵权雷同纯属巧合谢谢观看)

代码:

import requests
from lxml import html
res = requests.get("http://kns.cnki.net/kcms/detail/detail.aspx?dbcode=CJFD&filename=DZXU201201002&dbname=CJFD2012")
tree = html.fromstring(res.text)
title = tree.xpath('//h2[@class="title"]/text()')
print(title)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/316154
推荐阅读
相关标签
  

闽ICP备14008679号