Python xpath获取文本的问题

2017-09-02  本文已影响0人  bpzj

看英文pdf的时候,遇到不认识的单词,都是复制到网页翻译,很头疼。因为系统是win10,高分屏,有道的取词效果垃圾,一直想做一个python词典,在github看到这个,https://github.com/llf2017/pyDict/blob/master/pyDict.py,跟我想做的差不多。
因为不喜欢用BS,想把提取有道文本的那两行重新写下。
首先
import lxml
然后:
url ='http://dict.youdao.com/w/{}/'.format(word)
res = get_url(url)
tree = html.fromstring(res.content)
分析有道返回的数据(查询share这个单词):

写出下面的xpath表达式:

data = tree.xpath('//div[@id="results"]//div[@class="trans-container"]//ul/li[not(contains(text(),"\n"))]/text()')
# contains函数,contains(string1,string2),如果string1包含string2,则返回true
# //li[not(contains(text(),"\n"))] 返回文本不包括 \n 的 li

直接可以得到单词中文结果的列表

上一篇下一篇

猜你喜欢

热点阅读