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

扬州哪里做网站好js 做网站

扬州哪里做网站好,js 做网站,wordpress 手机 模板,蒙阴网站优化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.yayakq.cn/news/796757/

相关文章:

  • 辽阳网站设计网页设计代码大全添加音乐
  • 做国外网站湛江有那些网站制作公司
  • 深圳做网站比较好天涯猎上网登陆官方网站
  • 个人承接网站建设贵阳网站设计哪家好
  • 网站备案是域名备案还是服务器备案凤岗本地网站
  • WordPress版本更新提醒wordpress 4.7优化精减
  • 毕业设计做网站low郴州网站制作公司有哪些
  • 西柏坡旅游网站建设规划书微信小商店如何推广
  • 手机信息分类网站制作温州网站的优化
  • 桂林北站是高铁站吗wordpress文章自动排版
  • 怎么做自己的优惠淘网站什么网站程序可以做抽奖页面
  • 专业网站建设平台公司搭建网站做淘宝客
  • 哈密建设局网站免费发布产品网站
  • 网站首页 模板怎么用flash做网站
  • 哈尔滨网站制作公司有哪些苏州广告公司招聘
  • 做个英文网站多少钱网站开发设
  • 商务网站模板wordpress主题安装模板
  • 木渎建设局网站汽车服务站建站流程
  • 网站管理助手v3百度seo自然优化
  • 网站开发的售后 维保免费做公众号的网站
  • 南宁住房建设部网站如何做好网站建设的设计布局
  • 我不想找之前做网站的续费wordpress 聚美主题
  • 制作网页站点的具体流程案例50强网站开发语言
  • 外贸网站管理系统南京seo公司哪家好
  • 网站页面设计费用wordpress相册修改
  • 成武建设局网站南京建设网站要多少钱
  • 做网站公司济南扬州网站建设小程序
  • 网站服务器是干什么的物业管理系统功能结构图
  • 苏州seo网站诊断求网站备案照片
  • 网站和网页的区别曾舜晞网站是哪个公司做的