import re import requests import json import os from urllib import request headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36' } url = 'https://www.toutiao.com/a6589378040575296008/' #向服务器发起请求 response = requests.get(url,headers=headers) # with open('beiying.html', 'wb') as f: # f.write(response.content) #将二进制修改为text格式 html_str = response.text #编写正则格式正则筛选 pattern = r'gallery: JSON\.parse\((.*)\),' #用正则开始筛选 match_res = re.search(pattern, html_str) print(match_res) # 创建文件夹用文件夹收图片 #判断当前有没有download文件夹。如果没有就创建 if not os.path.exists('download'): #创建文件夹 os.mkdir('download') if match_res: # 这本来就是str json_origin = match_res.group(1) # 这是第一遍loads, 返回值是str,去除了两端的"字符 res_buzhidao = json.loads(json_origin) # print(res_buzhidao) # print(type(res_buzhidao)) #这是第二遍loads,转换为字典类型 res_dict = json.loads(res_buzhidao) # print(res_dict) # print(type(res_dict)) #输出sub_images字典的值 sub_images_list = res_dict['sub_images'] for image in sub_images_list: #输出字典url里的值 image_url = image['url'] # download/是路经,后面的是拼接的图片名字 filename = 'download/' + image_url.split('/')[-1] + '.jpg' # 下载图片 request.urlretrieve(image_url, filename) else: print('你写错了, 不应该来我这')
今日头条单图片爬取
最新推荐文章于 2022-11-21 19:03:57 发布