笔记bs,正则

爬虫:请求网站并提取数据的自动化程序
请求 - 响应(HTML、Json字符串、二进制数据(图片、视屏)等) - 解析 - 保存

  • 请求
  1. 方式(主要GET、POST)
  2. URL
  3. 请求头(如User-Agent,Host,Cookies(保持登录会话)等)
  4. 请求体(From Data是一部分))
  • 响应
  1. 状态(200, 301(跳转), 404, 502)
  2. 响应头(设置Cookie等)
  3. 响应体(请求内容,如HTML、图片等)

Beautiful Soup(beautifulsoup4)

  • 引用 from bs4 import BeautifulSoup

  • 对变量进行判断的时候import bs4

  • Beautiful Soup解析器

    解析器使用方法条件
    bs4的HTML解析器BeautifulSoup(mk,'html.parser')安装bs4库
    lxml的HTML解析器BeautifulSoup(mk,'lxml')pip install lxml
    lxml的XML解析器BeautifulSoup(mk, 'xml')pip install lxml
    html5lib的解析器BeautifulSoup(mk, 'html5lib')pip install html5lib
  • Beautiful Soup类的基本元素

    基本元素说明
    Tag标签,最基本的信息组织单元,分别用<>和</>标明开头和结尾
    Name标签的名字,<p>...</p>,格式是<tag>.name
    Attributes标签的属性,字典形式组织,格式:<tag>.attrs
    NavigableString标签内非属性字符串,<>...</>中字符串,格式:<tag>.string
    Comment标签内字符串的注释部分,一种特殊的Comment类型

正则表达式

  • 正则表达式的常用操作符
操作符说明实例
.表示任何单个字符
[]]字符集,对单个字符给出取值范围[abc]表示a、b、c,[a-z]表示a到z单个字符
[^]非字符集,对单个字符给出排除范围[^abc]表示非a或非b或c的单个字符
*前一个字符0次或无限次扩展abc*表示ab、abc、abcc、abccc等
+前一个字符1次或无限次扩展abc+表示abc、abcc、abccc等
?前一个字符0次或1次扩张abc?表示ab、abc
|左右表达式任意一个abc|def表示abc、def
{m}扩展前一个字符m次ab{2}c表示abbc
{m,n}扩展前一个字符m至n次(含n)ab{1,2}c表示abc、abbc
^匹配字符串开头^abc表示abc且在一个字符串的开头
$匹配字符串结尾abc&表示abc且在一个字符串的结尾
()分组标记,内部只能使用|操作符(abc)表示abc,(abc|def)表示abc、def
\d数字,等价于[0-9]
\w单词字符,等价于[A-Za-z0-9_]
  • 正则表达式语法实例
正则表达式对应的字符串
p(Y|YT|YTH|YTHO)?N'PN' 'PYN' 'PYTN' 'PYTHN' 'PYTHON'
PYTHON+'PYTHON' 'PYTHONN' 'PYTHONNN' ...
PY[TH]ON'PYTON' 'PYTHON'
PY[^TH]?ON'PYON' 'PYaON' 'PYbON' 'PYcON'...
PY{:3}N'PN' 'PYN' 'PYYN' 'PYYYN'
  • 经典的正则表达式
正则表达式对应的字符串
^[A-Za-z] + $由26个字母组成的字符串
^[A-Za-z0-9] + $由26个字母和数字组成的字符串
^-?\d + $整数形式的字符串
^[0-9]*[1-9][0-9]*$正整数形式的字符串
[1-9]\dd{5}中国境内邮政编码,6位
[\u4e00-\u9fa5]匹配中文字符
\d{3}-\d{8}|\d{4}-\d{7}国内电话号码,010-68913536
  • 匹配IP地址的正则表达式

0-99: [1-9]?\d
100-199: 1\d{2}
200-249: 2[0-4]\d
250-255: 25[0-5]

转载于:https://juejin.im/post/5c96eae5e51d45199e2eb92e

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值