美文网首页Python四期爬虫作业
【Python爬虫】第十四次 lxml以及xpath练习

【Python爬虫】第十四次 lxml以及xpath练习

作者: 徐_c90e | 来源:发表于2017-09-07 00:14 被阅读9次

# 一、div标签文本提取#
# 将学习视频中xpath.html文件中div标签下文本值
# “第一个div” ,“第二个div” 使用xpath结构化提取并打印输出
from lxml import etree
fp=open(r'd:\xpath.html','r',encoding='utf-8')
html=fp.read()
fp.close()
#print(html)
selector=etree.HTML(html)
div=selector.xpath('//div')

print(div[0])
print(div[1])

#
# 二、ul标签文本提取
# 将xpath.html文件中ul标签下“流程” ,“xpath学习”,“流程2”文本值
# 使用xpath结构化提取并打印输出
#
uls=selector.xpath('//ul')
for ul in uls:
ultext=ul.xpath('text()')[0].split()[0]
print(ultext)


# 三、过滤标签
#
# 将xpath.html文件中的第一个div下的前3个a标签的文本及超链接
# 使用xpath结构化提取,打印输出
print('------------')
As =div[0].xpath('//a')
i=0
for a in As:
i=i+1
# print(a,type(a))
text=a.xpath('text()')[0]
url=a.xpath('@href')[0]
print(text,url)
if i>=3 :
break
# 四、requests模块和lxml&xpath结合提取数据
#
# 结合上节课requests模块知识,将阳光电影网导航栏的文本及超链接结构化提取
import requests
url='http://www.ygdy8.com/'
headers=''
req=requests.get(url)
# print(type(req))
ret=req.status_code
req.encoding='gb2312'
html=req.text
print(html)
selector=etree.HTML(html)
lias=selector.xpath('//li/a')
for lia in lias :
text=lia.xpath('text()')
href = lia.xpath('@href')
if len(text)>=1 :
print(text[0],href[0])
else:
print(' ',href[0])


相关文章

网友评论

本文标题:【Python爬虫】第十四次 lxml以及xpath练习

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