Python爬虫介绍

目录

1.什么是爬虫?

2.有什么作用?

3.业界的情况

4.合法性

5.反爬虫

6.选择一门语言

7.爬虫基本套路

基本流程:

基本手段:

   破解请求限制

   破解登录授权

   破解验证码

解析数据:

   HTML Dom解析

   数据字符串

8.Python爬虫


1.什么是爬虫?

网络爬虫也叫网络蜘蛛。如果把互联网比喻成一个蜘蛛网,那么蜘蛛就是在网上怕来拍去的蜘蛛,爬虫程序通过了url地址,根据响应的内容进行解析采集数据。比如:如果响应内容是html,分析dom结构,进行dom解析,或者正则匹配,如果响应内容是xml/json数据,就可以转数据对象,然后对数据进行解析。

2.有什么作用?

通过有效的爬虫手段批量采集数据,可以降低人工成本,提高有效的数据量,给与运营/销售的数据支撑,加快产品发展。

3.业界的情况

目前互联网竞争激烈,业界大部分都会使用爬虫技术对竞品产品数据进行挖掘、采集、大数据分析、这是必备手段,并且很多公司都设立了爬虫工程师的岗位。

4.合法性

爬虫是利用程序进行批量爬取网页上的公开信息,也就是前端显示的数据信息,因为信息是完全公开的,所以也是合法的。其实就像浏览器一样,浏览器解析响应内容并渲染为页面,而爬虫解析响应内容采集想要的数据进行存储。

5.反爬虫

反爬虫很难完全的制止,道高一尺魔高一丈,这是一场没有硝烟的战争。

反爬虫的一些手段:

合法检测:请求校验(useragent,referrer,接口加签名等)

小黑屋:IP/用户限制请求频率,或者直接拦截

投毒:反爬虫高境界可以不用拦截,拦截是一时的,投毒返回虚假数据,可以误导竞品决策。

6.选择一门语言

爬虫可以用各种语言写,C++、java都可以,为什么要用Python?

Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990年代初设计,作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。

Python解释器易于扩展,可以使用C语言或C++(或者其他可以通过C调用的语言)扩展新的功能和数据类型。Python也可用于可定制化软件中的扩展程序语言。Python丰富的标准库,提供了适用于各个主要系统平台的源码或机器码。

7.爬虫基本套路

基本流程:

  目标数据

  来源地址

  结构分析

  实现构思

  操刀编码

基本手段:

   破解请求限制

      请求头设置,如:ueragant为有效客户端

      控制请求频率(根据实际情况)

      IP代理

      签名/加密参数从html/cookie/js分析

   破解登录授权

      请求带上用户cookie信息

   破解验证码

       简单的验证码可以使用图读验证码第三方库

解析数据:

   HTML Dom解析

  1. 正则匹配,通过正则表达式来匹配想要爬取的数据,如:有些数据不是在html标签里,而是在html的script标签的js变量中。
  2. 使用第三方库解释html dom,比较喜欢类jquery的库

   数据字符串

  1. 正则匹配(根据情况使用)
  2. 转JSON/XML对象进行解析

8.Python爬虫

Python写爬虫的优势:

  1. Pythong语法易学,容易上手
  2. 社区活跃,实现方案可参考
  3. 功能包丰富
  4. 少量代码可完成强大功能

   涉及模块包:

      请求:urllib

            Requests

      多线程:threading

      正则:re

      Json解析:json

      Html dom解析:beautiful soup

      lxml:xpath

      操作浏览器:selenium

你可能感兴趣的:(python相关代码,python,爬虫,开发语言)