库与语法速查

本课用得最多的六个工具,按“采集 → 解析 → 框架 → 清洗 → 日志”的顺序排列。

requests 常用参数

写法作用
requests.get(url, params=, headers=, timeout=)GET 请求,参数自动编码
r.status_code / r.text / r.content状态码 / 文本 / 字节
r.encoding = "utf-8"指定解码方式,解决乱码
requests.post(url, data=)表单提交
requests.Session()保持 Cookie 的会话
r.json()响应是 JSON 时直接转字典

XPath 语法

写法作用
//div任意层级的 div
//div[@class="news"]按属性定位
//a/@href取属性
//a/text()取文本
//li[1]第一个 li(下标从 1 开始)
//div//spandiv 下任意层的 span
string(//h1)取首个匹配的文本

BeautifulSoup

写法作用
BeautifulSoup(html, "html.parser")解析
soup.select("div.news a")CSS 选择器,返回列表
soup.select_one(...)只取第一个
tag.get_text(strip=True)取文本并去空白
tag["href"]取属性
soup.find_all("a", class_="link")按标签+类名查

Scrapy 常用命令

写法作用
scrapy startproject 名创建项目
scrapy genspider 名 域名生成爬虫
scrapy crawl 名 -O out.json运行并覆盖输出
scrapy shell url交互式调试
scrapy list列出爬虫

pandas 常用操作

写法作用
pd.read_csv(p, encoding=)读 CSV
df.head() / df.shape / df.info()查看数据
df.isnull().sum()空值统计
df.dropna() / drop_duplicates()去空 / 去重
df.groupby("列").size()分组计数
df.sort_values("列", ascending=False)排序
df.to_csv(p, index=False)写出 CSV
pd.to_datetime(列)转日期类型

Flume / Kafka

写法作用
flume-ng agent -n a1 -f conf启动 Flume Agent
kafka-topics.sh --create --topic t建 topic
kafka-console-producer.sh --topic t控制台生产消息
kafka-console-consumer.sh --topic t --from-beginning消费消息