Python爬虫踩坑记

Python爬虫踩坑记 工作需要抓取一些公开数据,用 Python 写了个简单的爬虫。一开始以为用 requests 库直接 get 就行,结果发现很多网站都有反爬机制。 第一个坑是 User-Agent 被识别。解决方法是每次请求随机换一个: headers = {'User-Agent': 'Mozilla/5.0 ...'} response = requests.get(url, headers=headers) 第二个坑是请求太频繁被 IP 封禁。加了 time.sleep(random.uniform(1, 3)) 之后好了很多。 第三个坑最麻烦,目标网站用了 JavaScript 动态渲染,requests 抓到的 HTML 是空的。最后用了 Selenium + ChromeDriver,虽然慢了点,但能拿到完整数据。 几点心得 爬虫不是万能的,先看对方有没有提供 API 遵守 robots.txt,不要给人家服务器造成压力 数据拿到之后记得清洗,原始数据往往很脏 写爬虫的过程也是学习 HTTP 协议的过程,收获不小。

April 10, 2022 · 1 min · Harry

Django初探

Django初探 今天跟随杜赛老师的博客学习了一下 Django 的基本用法,了解了MTV的一些基本概念,明白了搭建网站的基本步骤。 回头继续学习。 心得及要点如下: 利用 Pycharm 可以免于创建venv环境 每次修改完 Model.py 都要更新数据库,命令是 1 2 | python manage.py makemigrations python manage.py migrate —|— 要认真写代码,不要看错缩进和特殊符号,比如逗号、引号等 明天继续学习,每天一个小时,争取在五月学完 Django 基本框架。

May 10, 2021 · 1 min · Harry