专栏首页分布式爬虫15、web爬虫讲解2—urllib库中使用xpath表达式—BeautifulSoup基础
原创

15、web爬虫讲解2—urllib库中使用xpath表达式—BeautifulSoup基础

转自:

http://www.swpan.cn

http://www.bdyss.cn

在urllib中,我们一样可以使用xpath表达式进行信息提取,此时,你需要首先安装lxml模块,然后将网页数据通过lxml下的etree转化为treedata的形式

urllib库中使用xpath表达式

etree.HTML()将获取到的html字符串,转换成树形结构,也就是xpath表达式可以获取的格式

#!/usr/bin/env python
# -*- coding:utf8 -*-
import urllib.request
from lxml import etree  #导入html树形结构转换模块

wye = urllib.request.urlopen('http://sh.qihoo.com/pc/home').read().decode("utf-8",'ignore')
zhuanh = etree.HTML(wye)  #将获取到的html字符串,转换成树形结构,也就是xpath表达式可以获取的格式
print(zhuanh)
hqq = zhuanh.xpath('/html/head/title/text()') #通过xpath表达式获取标题

#注意,xpath表达式获取到数据,有时候是列表,有时候不是列表所以要做如下处理
if str(type(hqq)) == "<class 'list'>":  #判断获取到的是否是列表
    print(hqq)
else:
    xh_hqq = [i for i in hqq]       #如果不是列表,循环数据组合成列表
    print(xh_hqq)

#返回 :['【今日爆点】你的专属资讯平台']

BeautifulSoup基础

BeautifulSoup是获取thml元素的模块

BeautifulSoup-3.2.1版本

image

【转载自:http://www.lqkweb.com

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • hp服务器ilo批量配置脚本

    hp的ilo是一个非常方便的带外管理工具,在平时使用的时候,经常有大量的hp服务器需要配置ilo,下面是我下的一个脚本,可以批量的完成hp服务器ilo配置。

    力哥聊运维与云计算
  • HPILO管理经验二则

    hp ILO可以远程管理服务器,非常方便,但是hp ILO在web管理界面,没有重启的选项,如果需要重启ilo,可以使用以下方法: 一 服务器物理断电再加电,需...

    力哥聊运维与云计算
  • KVM虚拟机cpu pinning实战

    使用virsh capabilities可以查看物理机CPU的详细信息,包括物理CPU个数,每个CPU的核数,是否开了超线程。

    力哥聊运维与云计算
  • KVM虚拟化网络优化技术总结

    KVM的网络优化方案,总的来说,就是让虚拟机访问物理网卡的层数更少,直至对物理网卡的单独占领,和物理机一样的使用物理网卡,达到和物理机一样的网络性能。

    力哥聊运维与云计算
  • MindManager文件恢复小技巧

    MindManager思维导图软件是一款很好用的工具,其具有的发散性思维、图形化思维的特点,跟测试用例设计时所需的思维非常吻合,在实际工作中极大提升了我们测试用...

    用户5521279
  • 网卡passthrough在kvm虚拟机的配置方法

    04:00.0 Ethernet controller: Intel Corporation 82571EB Gigabit Ethernet Controll...

    力哥聊运维与云计算
  • 向maven中央仓库提交jar

    从来都是从中央仓库下载jar,这次需要向中央仓库提交jar, 利用Sonatype OSSRH可以把jar等资源提交给Maven的中央仓库。

    凯哥Java
  • 要强大的“黑匣子”,还是“可解释”的机器学习?| 清华AI Time激辩

    要不要用准确性换可解释性?这可能是许多资源有限的创业公司,在技术研发中面临的重要问题,同时也是机器学习可解释性研究中的重要议题。

    统计学家
  • spring boot 2.x 整合mybaits及分页插件

    在众多ORM持久层框架中,凯哥还是比较喜欢使用mybatis。至于mybatis的好处在此就不一一列举了。本篇主要介绍的是在spring boot中怎么整合my...

    凯哥Java
  • 如何使KVM虚拟机的CPU和物理CPU一模一样?

    关于CPU型号的定义: libvirt 对CPU的定义提炼出标准的几种类型在 /usr/share/libvirt/cpu_map.xml 可以查到     ...

    力哥聊运维与云计算

扫码关注云+社区

领取腾讯云代金券