想把某个网站上公开列表页的数据整理下来,手动复制太慢,写个小脚本就行。python 爬虫入门不需要多少基础,先跑通下面这套流程,再谈进阶。
最小可用的流程
先装库:pip install requests beautifulsoup4。核心三步是请求、解析、保存:r = requests.get(url, timeout=10) 拿到页面,r.text 交给 BeautifulSoup,用 find_all 按标签和 class 把标题、链接挑出来,最后写进 CSV。
被服务器拒绝时先看状态码:403 多半是不欢迎脚本,429 说明请求太快被限流。请求头里加一个正常的 User-Agent 表明身份,这是多数站点允许抓取的最低要求。
调试阶段先在浏览器里打开网页右键查看源代码,确认要的数据直接写在 HTML 里;如果源代码里找不到,说明是 JS 动态渲染的,requests 拿不到,得换浏览器自动化工具或者找接口。
先看 robots 再动手
网站根目录下的 robots.txt 写明了哪些路径允许抓、哪些不允许,Disallow 标注的目录要遵守。频率控制在几秒一次,加个 time.sleep(2),避开人家业务高峰连着打请求,小站被脚本打挂是要担责的。
红线在哪
- 只抓不需要登录就能看的公开数据,登录后才能见的内容别碰。
- 手机号、身份证这类个人信息,抓到也不能存不能用,法律风险是真实的。
- 对方明确禁止抓取,就换公开接口或现成数据集,别绕。
- 抓下来的数据别拿去做对方没许可的事,商用尤其谨慎。
给个实际判断:偶尔抓一次公开页面,requests 加 bs4 完全够用;要长期稳定同步数据,先查有没有开放 API 或数据下载入口,走正规接口比爬页面省心,也不容易哪天突然失效。