Python爬虫课--第四节 正则表达式练习

1.验证手机号18688770099

  • 分析手机号是以1开头的,第二位是34578 后面九位随意了
# 1.验证手机号 18688770099
# 手机号是以1开头的,第二位是34578 后面九位随意了
import re
s = '18688770099'
r = re.match('1[34578]\d{9}',s)
print(r.group())
结果
18688770099

2.身份证

  • 分析 18位 131123199607080517 前面17位是数字,后1位可以是数字也可以是小写x也可以是大写X
# 2.身份证 18位 131123199607080517 前面17位是数字,后1位可以是数字也可以是小写x也可以是大写X
import re
s = '131123199607080517'
r = re.match('\d{17}[\dxX]',s) # 再加一个$符号
print(r.group())
结果
131123199607080517

3 冯提莫堆糖图片爬取,但是不知道为啥下载不了40张

import requests
import re

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3775.400 QQBrowser/10.6.4208.400','Cookie': 'js=1; sessionid=a5b2cb66-096a-48cb-a89b-39c026247c07; js=1'
}

# 1.拿到目标的url
url = 'https://www.duitang.com/napi/blog/list/by_search/?kw=%E5%86%AF%E6%8F%90%E8%8E%AB&start=0&limit=40'

# 2.拿到网页源码

req = requests.get(url).content.decode('utf-8')
# print(req)
# pages.append(req)
# # ret = r.content.decode('utf-8')
# print(req)

# 3.3.拿到图片的url
result = re.findall('"path":"(.*?)"', req)
# print(result)


# 4.保存图片
a = 1
for i in result:

    # 获取图片的名字
    name = f'冯提莫{a}.jpg'

    with open('冯提莫0/'+name,'wb') as f:

        # 看有米有异常,好像没有

        try:
            s = requests.get(i)
        except Exception as e:
            print(e)
        f.write(s.content)
        print(f'正在爬取第{a}张图片')
        a += 1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值