weixin_50589433
Unjx.
采纳率57.1%
2021-04-09 17:45 阅读 30

Python正则表达式

如图,两个代码是相同的,不同的就是爬取的网页不同,正则匹配的结果一个有另一个没有(手动访问是两个网页都有图片),那么应该就是这个正则出问题了咯,还请大佬赐教

这个是代码段

#utf-8
import requests
import re


url='https://www.enterdesk.com/special/chuyin/'	#想要爬取的网站


head={
	'user_agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'
}	#浏览器请求头


page_data=requests.get(url,headers=head).text
pattern = re.compile(r'<a href="/desk.+?<img src="(.+?)"', flags=re.S)
img_list = pattern.findall(page_data)
print(img_list)	#打印获取到的图片URL


for src in img_list:
    #将图片转为二进制
	image_data=requests.get(url=src,headers=head).content
    #保存到本地
	with open('C:/Users/winlj/Desktop/all/seldom/程序/Python/3.22爬虫/爬虫图片试验/初音/{}.jpg'.format(src[-36:]),'wb') as fp:
			fp.write(image_data)
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • 已采纳
    PY0312 Nick Peng 2021-04-10 00:59
    pattern = re.compile(r'<img\s.*src="(.*.jpg)"')
    点赞 评论 复制链接分享

相关推荐