xpath 具体应用

本文介绍了一个使用Python进行网页爬取的例子,通过XPath解析HTML文档,抓取了伯乐在线网站上的文章封面图片及文章链接和标题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# -*- coding: utf-8 -*-
import sys
import requests
from lxml import etree
import codecs
reload(sys)
sys.setdefaultencoding("utf-8")
# 伯乐在线最新文章首页源码 3.html 存本地使加快请求速度

# open后为路径 建议用相对路径 第一个点表示当前文件上一级路径
content = codecs.open("./3.html", "r", encoding="utf-8").read()
# print content
doc = etree.HTML(content)
# print doc

# 获取所有文章封面img
img_list = doc.xpath('''//div[@class="post floated-thumb"]//img''')
# print img_list
for img in img_list:
    try:
        print img.xpath("@src")[0]
        alt = img.xpath("@alt")[0]
        if alt:
            print alt
        else:
            print "该图片没有alt属性"
        print '--------------------'
    except IndexError as e:
        print '该图片没有alt属性'

# 获取所有博客标题和详情
div_list = doc.xpath("//div[@class='post floated-thumb']")
for div in div_list:
    a = div.xpath("div[@class='post-thumb']/a")[0]
    detai_url = a.xpath("@href")[0]
    title = a.xpath("@title")[0]
    img = a.xpath("img")[0]
    img_src = img.xpath("@src")[0]
    print title, detai_url, img_src
    print '---------------------------'





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值