爬虫入门01

1. 请求头中最常见的一些重要内容

  1. User-Agent : 请求载体的身份标识(⽤啥发送的请求)
  2. Referer: 防盗链(这次请求是从哪个⻚⾯来的? 反爬会⽤到)
  3. cookie: 本地字符串数据信息(⽤户登录信息, 反爬的token)

2. 响应头中一些重要内容

  1. cookie: 本地字符串数据信息(⽤户登录信息, 反爬的token)
  2. 各种神奇的莫名其妙的字符串(这个需要经验了, ⼀般都是token
    字样, 防⽌各种攻击和反爬)

数据解析的四种方式

  1. re解析
  2. bs4解析(beautifulsoup)
  3. xpath解析
  4. pyquery解析
    这四种方式可以混合使用,完全以结果做导向,只要能拿到想要的数据。

正则表达式

  1. 元字符:具有固定含义的特殊符号,常用元字符
    • . 匹配除换⾏符以外的任意字符, 未来在python的re模块
      中是⼀个坑.
    • \w 匹配字⺟或数字或下划线
    • \s 匹配任意的空⽩符
      \d 匹配数字
    • \n 匹配⼀个换⾏符
    • \t 匹配⼀个制表符
    • ^ 匹配字符串的开始
    • $ 匹配字符串的结尾
    • \W 匹配⾮字⺟或数字或下划线
    • \D 匹配⾮数字
    • \S 匹配⾮空⽩符
    • a|b 匹配字符a或字符b
    • () 匹配括号内的表达式,也表示⼀个组
    • […] 匹配字符组中的字符
    • [^…] 匹配除了字符组中字符的所有字符
  2. 量词:控制前面的元字符出现的次数
    • 重复零次或更多次
      • 重复⼀次或更多次
    • ? 重复零次或⼀次
    • {n} 重复n次
    • {n,} 重复n次或更多次
    • {n,m} 重复n到m次
  3. 贪婪匹配和惰性匹配
    • .* 贪婪匹配, 尽可能多的去匹配结果
    • .*? 惰性匹配, 尽可能少的去匹配结果 -> 回溯
      这两个要着重的说⼀下. 因为我们写爬⾍⽤的最多的就是这个惰性匹
      配.

正则预加载

  1. 提前编写好正则对象
import re

# 提前把正则对象加载完毕
obj = re.compile(r"\d+")
# 直接把加载好的正则进行使用
ret = obj.finditer("abc123def456qqq789")
for item in ret:
    print(item.group())

分组提取数据

# 分组提取
a = """
中国联通
中国移动
"""
obj = re.compile(r"(?P.*?)") ret = obj.finditer(a) for item in ret: print(item.group("id"), item.group("name"))

python中如何让"."匹配换行符、re.S

obj = re.compile(r'
.*?(?P.*?)', re.S)

app逆向四个阶段

  1. 快速了解app逆向到底干的什么
  2. java基础
  3. 安卓开发
  4. 逆向+案例

安卓设备

  1. 真机
  2. 模拟器
# win: 逍遥、夜神、雷电、网易mumu
# max: 网页mum
win安装时需要开启vt。
  1. 安装网页mumu模拟器后,先开启root权限

你可能感兴趣的:(爬虫,爬虫)