爬虫

1265-张同学

发表文章数:58

首页 » 算法 » 正文

知识点

  1. Urllib
  • request用来发起请求,主要模块
urllib.request.urlopen(url, data=None, [timeout, ]*)
1. url: 请求的链接
2. data:给post请求携带参数的,比如可以把用户名密码传递
3. timeout:设置请求超时时间
  • error,当request模块出错了,用error来处理
  • parse,用来解析我们的 URL 地址的,比如解析域名地址啦,URL指定的目录等
  • robotparser,它就是用来解析网站的 robot.txt
  1. Requests
    https://mp.weixin.qq.com/s/dYtF8ydJtqub0QkK1cGVjA

  2. 正则表达式

字符 描述
/d 代表任意数字,0-9
/D 代表不是数字的
/w 代表字母,数字,下划线。a-zA-Z0-9_
/W 代表不是字母,数字,下划线的
/n 代表一个换行
/r 代表一个回车
/f 代表一个换页
/t 代表一个tab
/s 代表所有的空白字符,也就是上面的/n, /r, /f, /t
/S 代表所有不是空白的字符
/A 代表字符串的开始
/Z 代表字符串的结束
^ 匹配字符串开始的位置
$ 匹配字符串结束的位置
. 代表所有的单个字,除了/n, /r
[…] 代表在[]范围中的字符,如[a-z] 代表a-z的字符
[^…] 代表不在[]范围中的字符
{n} 匹配在{n}前面的东西正好n次,比如o{2}不能匹配在Bob中的o,但是能匹配food中的2个o
{n,m} 匹配在{n,m}前面的东西至少n次至多m次,比如:o{1,3}将匹配’fooooood’中前三个o
{n, } 匹配在{n,}前面的东西至少n次,比如o{2,}不能匹配’Bob’中的o,但能匹配’foooood’中的所有o
* 和{0,}一样,匹配*前面的0次或无限次,比如zo*能匹配‘z’, ‘zo’以及’zoo’
+ 和{1,}一样,匹配+前面一次或无限次,比如zo*能匹配‘zo’以及’zoo’,但不能匹配’z’
? 和{0,1}一样匹配?前面0次或1次
a|b 匹配a或b
() 匹配()里的内容
  1. Python Re Package
import re
content = 'Luis Got 100 scores in Maths'
res = re.match('^Lu.*?(/d+)/s.*s$',content)

#若有换行,加上re.S使用匹配模式
content = """Luis GOt 100 scores in English
sfafs"""
res = re.match('^Lu.*?(/d+)/s.*s$',content,re.S)

#扫描字符串
content = """Luis GOt 100 scores in English
sfafs"""
re.search('Lu.*?(/d+)/s.*s',content, re.S)

#找出所有需要的
content = """Xiaoshuaib has 100 bananas;
Xiaoshuaib has 100 bananas;
Xiaoshuaib has 100 bananas;
Xiaoshuaib has 100 bananas;"""
re.findall('Xi.*?(/d+)/s.*?s;',content,re.S)

#替换数字
content = """Xiaoshuaib has 100 bananas;
Xiaoshuaib has 100 bananas;
Xiaoshuaib has 100 bananas;
Xiaoshuaib has 100 bananas;"""
content = re.sub('/d+','250',content)

#进行封装
content = 'Luis Got 100 scores in Maths'
pattern = re.compile('^Lu.*?(/d+)/s.*s$',re.S)
res = re.match(pattern,content)

未经允许不得转载:作者:1265-张同学, 转载或复制请以 超链接形式 并注明出处 拜师资源博客
原文地址:《爬虫》 发布于2020-11-18

分享到:
赞(0) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu3.3主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录