Products
GG网络技术分享 2025-03-18 16:14 3
import re
headers = {\"User-Agent\": \"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36\"}
url = \"http://www.aiimg.com/\"
res = requests.get(url=url,headers=headers)
response = res.content.decode(\'gb2312\')
print(response)
img_url = re.findall(r\'img\\ssrc=\"(.*?)\"\',response,re.M)
print(img_url)
for photos in img_url:
print(photos)
photo_response = requests.get(url=photos,headers=headers).content.decode(\'gb2312\')
for photo in photo_response:
for numbers in range(1,len(img_url)):
with open(\"imgs_\"+str(numbers)+\".jpg\",\"wb\") as fp:
fp.write(photo_response)
print(\"OK\")
import requests
import re
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"}
url = "http://www.aiimg.com/"res = requests.get(url=url,headers=headers)
response = res.content.decode('gb2312')
img_url = re.findall(r'<img[^>]+src=[\\'"](http://[^\\'"]+)[\\'"]+', response, re.M)
#print('get image urls:')print(img_url)
numbers = 1for photos in img_url:
print(photos)
photo_response = requests.get(url=photos,headers=headers).content
with open("imgs_"+str(numbers)+".jpg","wb") as fp:
fp.write(photo_response)
numbers += 1
正则没写对,将s改成.*?即可
正则表达式的正确写法应该是,因为img和src之间并不一定是单个空白符,所以需要加上.*?,由于这里也有可能是换行符,所以最后加上re.DOTALL从而表示.(点)也可以用来表示换行符:
img_url = re.findall(r'img.*?src="(.*?)"',response, re.DOTALL)
我的施工之路
1我的施工计划
2数字专题
3字符串专题
4列表专题
5流程控制专题
6编程风格专题
7函数使用
8面向对象编程(上篇)
9面向对象编程(下篇)
10十大数据结构
11包和模块使用总结
今天开始Python进阶模块总结之正则专题,目录结构如下:
正则应用广泛。不仅在Python语言中使用,其他语言也都在用,并且不同语言间的正则语法极为相似。同时主流操作系统,尤其linux系统的命令窗口中,也会经常使用到正则。还有,Python的常用包如Pandas,也经常遇到正则。
不仅使用广泛,正则功能也很强大,还有书写简便,因此这项技能值得我们仔细研究和掌握。
r
是干啥的?经常见过正则表达式前有一个字符 r
,它的作用是告诉解释器后面的一串是原生字符串,按照字面意思解释即可。如:
Demand feedback