xpath 取标签下所有文字内容_【IT专家】解决:xpath取出指定多标签内所有文字text...

本文介绍了如何使用XPath在Python中提取HTML标签内的所有文字内容,通过示例代码演示了从网页中获取指定标签文本的步骤,包括遇到的问题及解决方案。
摘要由CSDN通过智能技术生成

解决:

xpath

取出指定多标签内所有文字

text

2016/11/14 0

Python 2.7 Pycharm 5.0.3

问题

再写一个

markdown

自动引用的小脚本的时候新出现的问题,也就是利用

xpath

取出字符串的问题,记录一下

取出如下字符串

我要取出

mrlevo520

的内容,怎么取呢,很多方法,

bs4

也可以,正则也可以,动

selenium

也可以,这次我想尝试用

xpath

来做,一则是为了和

selenium

接轨,

xpath

的确很强大,二来是

firefox

提供

firebug

插件,可以直接定位你需要内容的标

签,一步到位简直完美,不多说,上程序。

import

urllib2from

lxml

import

etreecrawl_url

=

“jianshu/p/e2c4ebd2eeb3”req

=

urllib2.Request(crawl_url)req.add_header(‘User-Agent’,’Mozilla/5.0

(Windows

NT

10.0;

WOW64)

AppleWebKit/537.36

(KHTML,

like

Gecko)

Chrome/45.0.2454.101

Safari/537.36’)response

=

urllib2.urlopen(req)html

=

response.read()selector

=

etree.HTML(html)#

核心部分

bloger

=

selector.xpath(“//a[@

]”)info

=

bloger[0].xpath(‘string(.)’).encode(‘utf-8’).strip()print info #

打印出

mrlevo

网上的方法

ok

,我们来试下,用小哥改进的方法取出上面那个标签

#

修改

-

核心部分,其余保持一样

bloger

=

selector.xpath(“//a[@

]”)print

bloger[0].xpath(‘string(.)’).extract()[0]ok

,又报错了

AttributeError: ‘_ElementStringResult’ object has no attribute ‘extract’

查看类型,如小

哥所说,的确是

list

,再查看列表

print

type(bloger)

#

listprint

type(bloger[0])

#’lxml.etree._Element’print

(bloger[0])

#

Element

a

at

0x36e9208

#

ok

,这要取出

bloger[0]

里面的字符串就可以了再次修改代

码,去掉

extract()

,并去掉周围空格

#

核心部分

bloger

=

selector.xpath(“//a[@

]”)print

bloger[0].xpath(‘string(.)’).strip()#

ok

,取值成功

对于小哥的例子,取出来之后字符串片段使用连接字符串

(join)

就可

以了

(

可能都不需要

join

,我没试过

)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值