经测试上一节的代码成功跑通,接下来加上循环爬取所有说说-。-

完整代码:

 1 import requests
 2 import json
 3 import os
 4 import shutil
 5 import time
 6
 7 qq = 627911861
 8
 9 headers = {
10     'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
11     'accept-encoding': 'gzip, deflate, br',
12     'accept-language': 'zh-CN,zh;q=0.8',
13     'cache-control': 'max-age=0',
14     'cookie': 'xxxxxx',
15     'upgrade-insecure-requests': '1',
16     'user-agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Mobile Safari/537.36'
17 }
18
19 url_x = 'https://mobile.qzone.qq.com/list?qzonetoken=9d29961d6fbb88be6236636010e0d4fde43a5b77d57ef984938b5aa0cb695e28c258a4d86b8c02a545bbcce970ff&g_tk=1573033187&res_attach=att%3D'
20 url_y = '%26tl%3D1508257557&format=json&list_type=shuoshuo&action=0&res_uin=627911861&count=40'
21 numbers = 0      # ‘查看更多’翻页
22 img_set = set()  # 存放图片url集
23 word_count = 0   # 文字说说计数器
24 words = ""       # 存放文字说说
25 images = ""      # 存放图片url
26 page = int(1761 / 40)
27
28
29 for i in range(0, page):
30     try:
31         html = requests.get(url_x + str(numbers) + url_y, headers=headers).content
32         data = json.loads(html)
33         # print(data)
34
35         for vFeed in data['data']['vFeeds']:
36             if 'pic' in vFeed:
37                 for pic in vFeed['pic']['picdata']['pic']:
38                     img_set.add(pic['photourl']['0']['url'])
39
40             if 'summary' in vFeed:
41                 # print(str(word_count) + '. ' + vFeed['summary']['summary'])
42                 words += str(word_count) + '. ' + vFeed['summary']['summary'] + '\r\n'
43                 word_count += 1
44     except:
45         print('error')
46
47     numbers += 40
48     time.sleep(10)
49
50 try:
51     with open(os.getcwd() + '\\' + str(qq) + '.txt', 'wb') as fo:
52         fo.write(words.encode('utf-8'))
53         print("文字说说写入完毕")
54
55     with open(os.getcwd() + '\\' + 'images_url', 'wb') as foImg:
56         for imgUrl in img_set:
57             images += imgUrl + '\r\n'
58         foImg.write(images.encode('utf-8'))
59         print("图片写入完毕")
60
61 except:
62     print('写入数据出错')
63
64
65 if not img_set:
66     print(u'不存在图片说说')
67 else:
68     image_path = os.getcwd() + '\images'
69     if os.path.exists(image_path) is False:
70         os.mkdir(image_path)
71     x = 1
72     for imgUrl in img_set:
73         temp = image_path + '/%s.jpg' % x
74         print(u'正在下载地%s张图片' % x)
75         try:
76             r = requests.get(imgUrl, stream=True)
77             if r.status_code == 200:
78                 with open(temp, 'wb') as f:
79                     r.raw.decode_content = True
80                     shutil.copyfileobj(r.raw, f)
81         except:
82             print(u'该图片下载失败:%s' % imgUrl)
83         x += 1

转载于:https://www.cnblogs.com/neilshi/p/7920738.html

QQ空间Python爬虫(3)---终章相关推荐

  1. QQ空间Python爬虫v2.0--点赞数据分析

    记上一次v1.0的空间爬虫之后,准备再写一个爬虫分析本人说说的点赞情况 首先分析Json: 可以发现点赞的节点为data-->vFeeds(list)-->like-->likema ...

  2. python爬虫qq好友信息,GitHub - equationl/QQzone_crawler: QQ 空间动态爬虫,利用cookie登录获取所有可访问好友空间的动态保存到本地...

    关于 Edit by equationl 优先在 码云 上更新 该项目修改自 xjr7670 的 QQzone_crawler 原作者说明: QQ空间动态爬虫 修改了什么? 爬取完整的评论列表 爬取点 ...

  3. 自己动手写一个QQ空间网络爬虫--qqzoneSpider

    QQ空间网络爬虫软件--qqzoneSpider qqzoneSpider 目录 安装 环境 Python版本 相关库 爬虫相关 数据库相关 GUI相关 可视化相关 数据分析相关 使用说明 操作步骤 ...

  4. Python爬虫学习第二章-1-requests模块简介

    Python爬虫学习第二章-1-requests模块简介   这一章主要是介绍requests模块的相关知识以及使用 1.requests模块简介: 概述:是python中原生的一款基于网络请求的模块 ...

  5. python访问陌生人qq空间_Python爬虫获取QQ空间信息(上)

    开发工具 Python版本:3.6.4 相关模块: requests模块: selenium模块: lxml模块: 以及一些Python自带的模块. 环境搭建 安装Python并添加到环境变量,pip ...

  6. python爬取加密qq空间_python3爬虫爬取QQ好友空间说说

    开发环境Win10 python 3.6.3 pycharm 2018.1 第三方库csv requests pymysql selenium 无头浏览器 PhantomJS 主要思路通过QQ邮箱导出 ...

  7. python爬虫学习第一章

    <!DOCTYPE html> python爬虫第一章 python网络爬虫的学习 什么是网络爬虫 按照特定需求,从互联网中搜索有用信息网页进行过滤,就叫网络爬虫. 网络爬虫算法 当浏览信 ...

  8. 路飞学城-Python爬虫集训-第一章

    自学Python的时候看了不少老男孩的视频,一直欠老男孩一个会员,现在99元爬虫集训果断参与. 非常喜欢Alex和武Sir的课,技术能力超强,当然讲着讲着就开起车来也说明他俩开车的技术也超级强! 以上 ...

  9. python爬虫笔记第二章

    前言 你好! 这是基于b站2021年路飞学成爬虫教程的python爬虫学习笔记,主要是方便作者复习和回顾课程内容. 已经发布了第一章和第二章,可以在主页中查看. python爬虫笔记(第二章) 前言 ...

最新文章

  1. pb设置Oracle事务的隔离级别,Oracle的事务隔离级别
  2. 薪资留人还是情感留人?
  3. 数据库连接工具HeidiSql介绍(支持MySQL,MariaDB,Microsoft SQL或PostgreSQL)
  4. 另一个分区工具:GNU 的 parted(转)
  5. 分布式设计模式中的Quorum思想
  6. 力扣 278.第一个错误的版本
  7. bzoj 1641: [Usaco2007 Nov]Cow Hurdles 奶牛跨栏(floyd)
  8. 1.11 Linux压缩和解压文件
  9. 计算机组成原理白中英知识点总结,计算机组成原理重点整理(白中英版)
  10. ios抓包软件Thor限时折扣6元中,手慢无
  11. VOIP技术连载之一 VOIP简介
  12. VUE+ElementUI实现div滚动条替换
  13. The APR based Apache Tomcat Native library which allows optimal performance in production
  14. 性能监控与调优篇之【3. JVM 监控及诊断工具-GUI 篇】
  15. matlab控制流上机报告,MATLAB实验指导书(2013)要点
  16. json数据和json数据与python之间的转换
  17. 教妹学Java(一):什么是Java?
  18. wazuh agent 认证
  19. 明明有网 但是下边显示小地球怎么办 一招解决
  20. WIN10FTP站点搭建

热门文章

  1. 设计模式学习笔记之二:观察者模式
  2. [原创][Windows] Win7安装visual c++ 2015 redistributable x64失败
  3. PML调用PDMS内核命令研究
  4. C# 添加PDF注释(5种类型)
  5. MSSQL日期格式转换函数(使用CONVERT)
  6. Exchange 2016 CU9 已发布
  7. Office365 PowerShell打开邮箱审计功能
  8. C++笔记(1):使用STL中sort()对struct排序
  9. 【转载】ASP.NET MVC中Controller与View之间的数据传递总结
  10. 31muduo_net库源码分析(七)