爬取今日头条美女图片需要分析Ajax请求

首先打开网址:https://www.toutiao.com/search/?keyword=%E8%A1%97%E6%8B%8D

返回的数据以及每个data展开后为下图:

图中标出的是详情页的url,然后进入详情页:

详细代码:

import json
import os
import re
from urllib.parse import urlencodefrom bs4 import BeautifulSoup
from requests.exceptions import RequestExceptionimport requestsdef get_page_index(offest, keyword):data = {'offset': offest,'format': 'json','keyword': keyword,'autoload': 'true','count': '20','cur_tab': 1}url = 'https://www.toutiao.com/search_content/?' + urlencode(data)try:response = requests.get(url)if response.status_code == 200:return response.textreturn Noneexcept RequestException:print("请求索引页出错")return Nonedef parse_page_index(html):data = json.loads(html)if data and 'data' in data.keys():for item in data.get('data'):yield item.get('article_url')def get_page_detail(url):try:response = requests.get(url)if response.status_code == 200:return response.textreturn Noneexcept RequestException:print("请求详情页出错", url)return Nonedef parse_page_detail(html, url):soup = BeautifulSoup(html, 'lxml')title = soup.select('title')[0].get_text()# print("hah"+title)images_pattern = re.compile('gallery: (.*?),\n', re.S)# print(images_pattern)result = re.search(images_pattern, html)if result:# print("haha"+result.group(1))data = json.loads(result.group(1))if data and 'sub_images' in data.keys():sub_images = data.get('sub_images')# print(sub_images)images = [item.get('url') for item in sub_images]if images:return {'title': title,'url': url,'images': images}else:passdef main():html = get_page_index(0, '街拍')for url in parse_page_index(html):html = get_page_detail(url)if html:result = parse_page_detail(html, url)if result is not None:for url in result.get('images'):print(url)pic=requests.get(url)pic_cun='F:\images\\'+str(url)[-8:-1]+'.jpg'fp = open(pic_cun, 'wb')  # 以二进制写入模式新建一个文件fp.write(pic.content)  # 把图片写入文件fp.close()if __name__ == '__main__':main()

爬取今日头条街拍美女图片相关推荐

  1. 利用Ajax爬取今日头条头像,街拍图片。关于崔庆才python爬虫爬取今日头条街拍内容遇到的问题的解决办法。

    我也是初学爬虫,在看到崔庆才大佬的爬虫实战:爬取今日头条街拍美图时,发现有些内容过于陈旧运行程序时已经报错,网页的源代码早已不一样了.以下是我遇到的一些问题. 1.用开发者选项筛选Ajax文件时预览看 ...

  2. 爬取今日头条街拍图片

    ** *爬取今日头条街拍图片 * ** # coding=utf-8 import os import re import time from multiprocessing.pool import ...

  3. python爬虫今日头条_python爬虫—分析Ajax请求对json文件爬取今日头条街拍美图

    python爬虫-分析Ajax请求对json文件爬取今日头条街拍美图 前言 本次抓取目标是今日头条的街拍美图,爬取完成之后,将每组图片下载到本地并保存到不同文件夹下.下面通过抓取今日头条街拍美图讲解一 ...

  4. python爬取今日头条街拍,Python3今日头条街拍爬虫

    学习了大才哥的在线视频教程,特来这里总结分享一下. 不同于上一篇糗事百科的爬虫,这里爬取今日头条街拍需要分析ajax请求得来的数据. 首先这里是爬取的起始页 可以看到当我们往下拉滚动条的时候,新数据是 ...

  5. [Python3网络爬虫开发实战] --分析Ajax爬取今日头条街拍美图

    [Python3网络爬虫开发实战] --分析Ajax爬取今日头条街拍美图 学习笔记--爬取今日头条街拍美图 准备工作 抓取分析 实战演练 学习笔记–爬取今日头条街拍美图 尝试通过分析Ajax请求来抓取 ...

  6. Scrapy 爬取今日头条街拍图片

    scrapy 爬取今日头条图片保存至本地 之前用 requests 爬取过今日头条街拍的图片,当时只是爬取每篇文章的缩略图,今天尝试用 scrapy 来大规模爬取街拍详细图片. 分析页面 今日头条的内 ...

  7. 爬取今日头条街拍美图

    相关背景: 本篇文章是基于爬虫实践课程–分析Ajax请求并抓取今日头条街拍美图 其实我最开始也只想在CSDN上面找一篇文章看看结果都是分析没有实操,没办法最后只能自己写了,本篇文章里面的问题也是我遇到 ...

  8. python爬取今日头条_Python3网络爬虫实战-36、分析Ajax爬取今日头条街拍美图

    本节我们以今日头条为例来尝试通过分析 Ajax 请求来抓取网页数据的方法,我们这次要抓取的目标是今日头条的街拍美图,抓取完成之后将每组图片分文件夹下载到本地保存下来. 1. 准备工作 在本节开始之前请 ...

  9. Python爬虫:爬取今日头条“街拍”图片(修改版)

    前言 在参考<Python3网络爬虫开发实战>学习爬虫时,练习项目中使用 requests ajax 爬取今日头条的"街拍"图片,发现书上的源代码有些已经不适合现在了, ...

最新文章

  1. centos selinux mysql 5.6_centos 6.4下安装mysql 5.6.11
  2. c语言斐波那契数列_斐波那契数列之美
  3. mongodb查询数据库中某个字段中的值包含某个字符串的方法
  4. iphone7像素_iPhone 7能否再战三年?这几点因素你得考虑到!
  5. Kettle使用_7 数据校验组件应用
  6. Petalinux 2018.2 for Xilinx
  7. 【BZOJ1026】windy数,数位DP
  8. 【证明】【一题多解】【等价转换】—— 排列组合的计算
  9. vue全家桶+element-UI
  10. Android 学生管理系统
  11. android mmkv使用_[Android]高性能MMKV数据交互分析-MMKV初始化
  12. Eureka高可用注册中心通过defaultZone深入理解zone和serviceUrl
  13. Asp.net 简单的站内搜索引擎
  14. oracle递归查询(层级查询)
  15. python 协程可以嵌套协程吗_Python | 详解Python中的协程,为什么说它的底层是生成器?...
  16. 为降低普及门槛,鑫洋泉将全景环视做成“算法引擎”
  17. 北航2018计算机学院录取名单,【北航2018年拟录取硕士研究生名单公示】- 环球网校...
  18. cakephp index.php,CakePHP开发常用技巧详解
  19. 75个顶级开源安全应用(1)
  20. Java波斯王子时之沙攻略_《波斯王子:时之砂》剧情攻略

热门文章

  1. 行走在数据库上的行癫(二)
  2. 360在网站安全防护中的实践
  3. 论文阅读笔记:《自然语言处理中的预训练模型》
  4. openGL增强表面细节--凹凸贴图具体实现
  5. Apache Ozone0.4.0调研
  6. 用VMware安装Windows 8.x虚拟机镜像系统详细流程
  7. C语言枚举类 口袋中有红、黄、蓝、白、黑5种颜色的球若干个
  8. (转)PicGo+GitHub图床+微博图床
  9. sybase客户端SqlDbx中文乱码问题解决
  10. 《利用Python进行数据分析》第七章——数据清洗与准备