楼层: 首页/ 软件技术/ Python 爬虫技术/ 爬虫入门与法律道德
1

爬虫入门与法律道德

Intro to Web Scraping

先别急着写代码。搞清楚"爬虫是什么、能干嘛、什么不能爬",比写得快更重要。爬虫写得好,牢饭吃到老——这不是玩笑,真有人因为爬了不该爬的进去了。

论爬虫能干嘛

数据分析:爬招聘网站看市场行情。价格监控:盯竞品降价。舆情监测:抓微博/论坛口碑。搜索引擎:Google 本质就是个超大爬虫。学术研究:爬论文摘要做统计。这些都是正当用途。

法律与道德:红线别踩

红线说明
robots.txt网站的"请勿打扰牌",写了 Disallow 的路径别爬。不是法律,是君子协定,但尊重它。
版权内容爬全文转载/商用,可能侵权。标题、摘要可以,全文慎重。
个人信息身份证、手机号、住址——《个人信息保护法》管着,别碰。
登录墙后数据要登录才能看的内容,爬它等于"未授权访问"。
别把人打挂控制频率,一秒一个请求顶天了。几百并发打别人服务器,DOS 警告。

爬虫基本流程

# 四步走:发请求 → 获取响应 → 解析数据 → 存储数据 1. requests.get(url) # 发 HTTP 请求 2. response.text # 拿到 HTML 3. BeautifulSoup(html).find(...) # 提取要的数据 4. csv.writer / mysql insert # 存下来

HTTP 状态码速查

状态码含义爬虫怎么办
200成功正常解析
301/302重定向requests 自动跟,看 resp.url
403禁止访问UA 不对/被封,换 UA/代理
404找不到URL 错了或页面已删
429请求太多被限流,降速
500/502/503服务器错误对方挂了,等会重试

常用请求头详解

请求头作用
User-Agent客户端身份,不带或太假就被识别成爬虫
Referer从哪跳来的,有些防盗链网站检查这个
Cookie登录态,爬登录后页面必带
Accept能接受什么格式(text/html, application/json)
Accept-Language能接受的语言(zh-CN)
AuthorizationAPI token(Bearer xxx)
X-Requested-With标记 AJAX 请求(XMLHttpRequest)

HTTP 基础:爬虫的地基

概念要点
GET / POSTGET 取数据(参数在 URL),POST 提交数据(参数在 body)。爬虫主要用 GET。
User-Agent告诉服务器"我是谁"。Python 默认的 UA 很容易被识别成爬虫,要伪装成浏览器。
Referer从哪个页面跳过来的。有些网站检查这个。
Cookie维持登录状态。要爬登录后的页面,得带上 Cookie。
状态码200 成功;301/302 跳转;403 被拒;404 找不到;500 服务器错。