加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python网络爬虫——正则解析

发布时间:2020-12-20 10:40:56 所属栏目:Python 来源:网络整理
导读:? - re.I # 忽略大小写 - re.M # 多行匹配,将正则作用到源数据的每一行 - re.S # 单行匹配,将正则作用到整个源数据,输出一个整体字符串(包括换行符也打印) string = ‘‘‘ fall in love with youi love you very muchi love shei love her ‘‘‘ # 去

?

- re.I # 忽略大小写
- re.M # 多行匹配,将正则作用到源数据的每一行
- re.S # 单行匹配,将正则作用到整个源数据,输出一个整体字符串(包括换行符也打印)

string = ‘‘‘fall in love with you
i love you very much
i love she
i love her‘‘‘
# 去除以i开头的每一行数据
re.findall(^i.*,string,re.M)
[‘i love you very much‘,‘i love she‘,‘i love her‘]
#匹配全部行
string1 = """细思极恐
你的队友在看书
你的敌人在磨刀
你的闺蜜在减肥
隔壁老王在练腰
"""
re.findall(.*,string1,re.S)
[‘细思极恐n你的队友在看书n你的敌人在磨刀n你的闺蜜在减肥n隔壁老王在练腰n‘,‘‘]

爬取糗事百科中所有的图片进行保存
import requests
import re
import urllib
import os

url = https://www.qiushibaike.com/pic/page/%d/?s=5170552
# 自定义请求头信息
headers = {
    User-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/72.0.3626.119 Safari/537.36
}
# 判断是否存在名为qiutu的文件夹,如果不存在则创建文件夹
if not os.path.exists(./qiutu): os.mkdir(./qiutu)
# 手动输入开始页,结束页 start_page
= int(input(start>>>)) end_page = int(input(end>>>)) for page in range(start_page,end_page+1):
  # 按照每页url形式拼接指定url new_url
= format(url%page)
  # 发起请求 page_text
= requests.get(url=new_url,headers=headers).text
  # 使用正则找出page_text页面中所有图片url img_url_list
= re.findall(<div class="thumb">.*?<img src="(.*?)" alt=.*?</div>,page_text,re.S)
  # 给每一个图片url添加https协议头
for img_url in img_url_list: img_url = https: + img_url
     # 将图片url切割去除图片名称,作为存储时图片的名称 img_name
= img_url.split(/)[-1] img_path = qiutu/ + img_name、
     # 对图片做持久化存储 urllib.request.urlretrieve(url
=img_url,filename=img_path) print(img_path,下载成功) print(over)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读