1. 网页抓取的本质与核心要素
当我们在浏览器里看到一个图文并茂的网页时,背后其实是三兄弟在分工合作:HTML负责骨架结构,CSS负责穿衣打扮,JavaScript负责动作表演。而爬虫工程师要做的,就是透过表象直接跟最老实的HTML打交道。
HTML文档就像是用标签搭建的乐高积木,每个
、都是特定功能的积木块。比如淘宝商品页,商品名称通常藏在 新手常见误区:试图用正则表达式处理HTML。这就像用菜刀做显微手术,不仅效率低,还容易把文档结构切得支离破碎。专业的抓取应该使用专门的结构化解析工具。 需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。 CSS选择器是前端工程师给元素化妆的定位工具,恰好能被爬虫反向利用。比如: 在Python中,BeautifulSoup和pyquery都支持CSS选择器: XPath像文件系统路径,通过层级关系精准定位: lxml库的XPath解析速度最快: 经验表明:或
2. HTML解析的三大神器对比
2.1 基础选择器:CSS Selector
div.content > p:first-child 表示选择class为content的div下第一个p子元素a[href^="https"] 选择所有href属性以https开头的链接python复制
from bs4 import BeautifulSoup
soup = BeautifulSoup(html, 'lxml')
price = soup.select('span.price')[0].text
2.2 路径定位:XPath
/html/body/div[2]/table//tr 表示从根目录开始的绝对路径//div[@class="list"]/ul/li 表示文档中任意位置的相对路径python复制
from lxml import etree
tree = etree.HTML(html)
title = tree.xpath('//h1[@id="main-title"]/text()')[0]
2.3 混合策略实战建议
