当前位置: 首页 > news >正文

成立网站买卖交易网

成立网站,买卖交易网,软件下载官网源码,模板建站3000是不是贵了Python 第二阶段 - 爬虫入门 🎯 今日目标 掌握 XPath 的基本语法使用 lxml.etree 解析 HTML,提取数据与 BeautifulSoup 比较:谁更强? 📘 学习内容详解 ✅ 安装依赖 pip install lxml🧩 XPath 简介 XPa…

Python 第二阶段 - 爬虫入门

🎯 今日目标

  • 掌握 XPath 的基本语法
  • 使用 lxml.etree 解析 HTML,提取数据
  • 与 BeautifulSoup 比较:谁更强?

📘 学习内容详解

✅ 安装依赖
pip install lxml
🧩 XPath 简介

XPath 是一种用于在 XML/HTML 中查找信息的语言,功能强大,支持复杂结构提取。

常见语法:

XPath 表达式含义
//tag所有指定标签
//div[@class="quote"]class 为 quote 的所有 div 标签
.//span[@class="text"]/text()当前元素内的 span.text 的内容
//a/@href提取 a 标签的 href 属性值

📌 示例代码
from lxml import etree
import requestsurl = "https://quotes.toscrape.com/"
res = requests.get(url)
tree = etree.HTML(res.text)quotes = tree.xpath('//div[@class="quote"]')for q in quotes:text = q.xpath('.//span[@class="text"]/text()')[0]author = q.xpath('.//small[@class="author"]/text()')[0]tags = q.xpath('.//div[@class="tags"]/a[@class="tag"]/text()')print(f"{text} —— {author} [Tags: {', '.join(tags)}]")

📊 XPath vs BeautifulSoup

对比项BeautifulSoupXPath (lxml)
学习曲线简单稍复杂
功能强度
性能一般较快
选择方式标签/类名/选择器路径表达式
适合人群初学者熟悉 HTML 的开发者

🧪 今日练习任务

  1. 使用 XPath 提取名言、作者、标签

  2. 获取所有页数据(分页跳转)

  3. 统计作者数量 & 不重复的标签数

  4. 保存数据为 JSON 文件

    示例代码:

    import requests
    from lxml import etree
    import json
    import timeBASE_URL = "https://quotes.toscrape.com"
    HEADERS = {"User-Agent": "Mozilla/5.0"
    }def fetch_html(url):response = requests.get(url, headers=HEADERS)return response.text if response.status_code == 200 else Nonedef parse_quotes(html):tree = etree.HTML(html)quotes = tree.xpath('//div[@class="quote"]')data = []for q in quotes:text = q.xpath('.//span[@class="text"]/text()')[0]author = q.xpath('.//small[@class="author"]/text()')[0]tags = q.xpath('.//div[@class="tags"]/a[@class="tag"]/text()')data.append({"text": text,"author": author,"tags": tags})return datadef get_next_page(html):tree = etree.HTML(html)next_page = tree.xpath('//li[@class="next"]/a/@href')return BASE_URL + next_page[0] if next_page else Nonedef main():all_quotes = []url = BASE_URLwhile url:print(f"正在抓取:{url}")html = fetch_html(url)if not html:print("页面加载失败")breakquotes = parse_quotes(html)all_quotes.extend(quotes)url = get_next_page(html)time.sleep(0.5)  # 模拟人类行为,防止被封# 输出抓取结果print(f"\n共抓取名言:{len(all_quotes)} 条")# 保存为 JSONwith open("quotes_xpath.json", "w", encoding="utf-8") as f:json.dump(all_quotes, f, ensure_ascii=False, indent=2)print("已保存为 quotes_xpath.json")if __name__ == "__main__":main()
    

✍️ 今日总结

  • 学会使用 XPath 精确定位 HTML 元素
  • 掌握了 lxml.etree.HTML 的解析方法
  • 对比了两种主流网页解析方式,为后续复杂数据提取打好基础
http://www.hkea.cn/news/467715/

相关文章:

  • 学校校园网站建设实施方案精准营销的案例
  • 腾讯云服务器可以做网站可以推广发广告的app
  • seo外链友情链接网站运营推广选择乐云seo
  • 做网站 要学 什么语言网站优化公司
  • 天乐测绘网做网站吗搜索引擎广告图片
  • 湖南营销型网站建设多少钱百度关键词优化软件网站
  • 怎样给网站做关键词优化百度词条
  • 做网站哪个平台搭建网站需要什么技术
  • 做gif图的网站简述网络营销的主要方法
  • 做图网站被告seo视频网页入口网站推广
  • 做的网站底部应该标注什么意思免费文案素材网站
  • 企业网站搜索引擎拓客农夫山泉软文300字
  • 青岛黄岛区网站开发武汉seo优化
  • 东莞做网站企业铭会员制营销
  • 做网站设计工资多少钱优化教程网官网
  • 计算机网站建设与维护百度关键词统计
  • wordpress网站实现微信登录google google
  • 网站建设 零基础网站关键词如何优化
  • 如何撤销网站上信息app网站
  • 单页式网站系统每日新闻摘要30条
  • 网站开发公司 广告词优化方案电子版
  • 做便民工具网站怎么样关键词挖掘站长工具
  • 纺织面料做哪个网站好百度站长资源
  • 菏泽网站建设哪好怎样做平台推广
  • 网上有做logo的网站吗网络营销的核心是什么
  • 自建网站怎么做推广微信营销策略
  • 跳网站查询的二维码怎么做的关键词排名点击软件网站
  • 兼容手机的网站百度怎么推广自己的视频
  • 宝安中心医院入职体检跟我学seo
  • 企业网站后端模板石家庄疫情最新情况