Python 网络爬虫实战:从基础请求到数据可视化
搭建本地测试环境
在开始爬取外部网站之前,为了演示爬虫原理,我们通常先搭建一个本地的 Web 服务器作为目标站点。这里使用 FastAPI 框架快速构建服务。
基础路由与响应
创建一个简单的 FastAPI 应用,用于返回 HTML 页面和图片资源。
from fastapi import FastAPI, Response
import uvicorn
app = FastAPI()
@app.get("/index.html")
def main():
with open("source/html/index.html", "rb") as f:
data = f.read()
return Response(content=data, media_type="text/html")
if __name__ == "__main__":
uvicorn.run(app, host="127.0.0.1", port=8000)
运行后,浏览器访问 http://127.0.0.1:8000/index.html 即可看到页面。需要注意的是,HTML 中引用的图片(如 0.jpg)也需要服务器支持对应的路由。
优化图片资源加载
如果每张图片都写一个函数,代码会非常冗余。我们可以利用 FastAPI 的路径参数功能,动态处理图片请求。
@app.get("/images/{path}")
def get_pic(path: str):
# 路径拼接:source/images/0.jpg
file_path = f"source/images/{path}"
with open(file_path, "rb") as f:
data = f.read()
return Response(content=data, media_type="image/jpeg")
@app.get()
():
file_path =
(file_path, ) f:
data = f.read()
Response(content=data, media_type=)

