今日头条单图片爬取

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('你写错了, 不应该来我这')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值