爬虫爬取网络图片(正则表达详细版) |
您所在的位置:网站首页 › 如何用python爬取百度图片 › 爬虫爬取网络图片(正则表达详细版) |
目录
re式匹配匹配类型匹配代码
匹配网页指定关键字匹配详情
爬取网页图片爬取详情
re式匹配
匹配类型
导入库
import re 类型一(正则表达式匹配): re.complie() 参数: \d 表示 匹配数字 [m-n]表示匹配m到n区间内的数字,字母 {m,n} 该限定符的意思是至少有m个重复,至多有n个重复(数字长度最少为m+1,最长为n+1) 实例:[1-9]\d{4,10}表示匹配1到9区间的数字,至少有4个重复,最多有10个重复 类型二: re.match() 匹配方式:从总字符串的第一个字符去对应要匹配的字符串(一 一对应,开头或者中间不同则之间匹配失败) 参数:字符串 ‘abc’ 类型三: re.search() 匹配方式:从总字符串的第一个字符去查找要匹配的字符串(存在则匹配成功) 参数:字符串 ‘abc’ 类型四: re.findall(pattern, String, flags=0) 参数:String为总字符串。 pattern = re.compile(es, re.S) 设置re.S则不会对\n进行中断 es为正则表达式 匹配代码 类型一 import re pattern = re.compile("[1-9]\d{4,10}") Str = "我的qq号码为2324324666888" lis = re.findall(pattern , Str , flags=0) print(len(lis[0]))运行结果: [‘23243246668’] 类型二 import re line = "Cat are smarter than dogs" matchObj = re.match(r'dogs', line) if matchObj: print("match->matchObj.group():",matchObj.group()) else: print("No match!!") searchObj = re.search(r'dogs', line)运行结果: No match!! 类型三 import re line = "Cat are smarter than dogs" searchObj = re.search(r'dogs', line) print(searchObj) if searchObj: print("search->searchObj.group():",searchObj.group()) else: print("NO match!!")运行结果: search->searchObj.group(): dogs 类型四在匹配网页指定关键字和爬取图片模块 匹配网页指定关键字本案列匹配的是百度首页个别中文字段匹配内容如图: 获取AU伪装 获取对应url 运行结果: 新闻 hao123 地图 视频 贴吧 爬取网页图片本案列为爬取糗事百科图像中的图片 爬取详情获取有效url 获取UA伪装 下载图片 使用聚焦爬虫 代码: import requests import re import os if __name__ == '__main__': # UA伪装 header = { 'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36' } # 编写通用爬虫获取网页源码 url = 'https://www.qiushibaike.com/imgrank/' response = requests.get(url=url,headers=header) html = response.text # print(html) # 进行数据解析,获取目标url es = 'target="_blank">\n |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |