# coding: utf-8
import requests
# lxml 包 专门用处理一些html和xml的 打开cmd命令 输入pip install lxml
# 引入etree模块
from lxml import etree
# xpath 一组特定的规则,可以根据特殊的语法结构,匹配网页中的数据
# // 从当前的标签开始查找
# @ 表示获取属性或者根据属性查找
# //a[@class="archive-title"] 找到class为archive-title的所有的a标签
# //a[@class="archive-title"]/@href 找到class为archive-title的所有的a标签中的href属性值
# //nav[@id="top-nav"]/div/div[1] 根据id查找标签 并且找到div下第1个div
# //img 找到所有的img标签
# //div[@class="post-meta"]/p[1]/text() 获取第一个p标签中直接文本内容,不包含子标签的内容
# //div[@class="post-meta"]/p[1]//text() //双斜杠,获取包含子标签文本在内的文本内容
url = 'http://blog.jobbole.com/all-posts/'
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0'
}
resposne = requests.get(url,headers=headers)
# 将html源代码转换为树形结构数据
html = etree.HTML(resposne.content)
# 根据xpath从html中提取img标签,返回的是列表,列表中存放就是找到的标签对象
# imgs = html.xpath('//img')
# for img in imgs:
# # 查找img标签src属性值
# src = img.xpath('@src')
# print src
links = html.xpath('//a[@class="archive-title"]/text()')
for link in links:
# 找到href属性值,返回的是列表,可以取出列表中的第0个元素
href = link.xpath('@href')[0]
title = link.xpath('text()')[0]
print u'博客标题:%s 链接:%s'%(title, href)
xpath的运用
猜你喜欢
转载自blog.csdn.net/DragonASDASD/article/details/90081302
今日推荐
周排行