QQ空间Python爬虫(3)---终章
经测试上一节的代码成功跑通,接下来加上循环爬取所有说说-。-
完整代码:
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)---终章相关推荐
- QQ空间Python爬虫v2.0--点赞数据分析
记上一次v1.0的空间爬虫之后,准备再写一个爬虫分析本人说说的点赞情况 首先分析Json: 可以发现点赞的节点为data-->vFeeds(list)-->like-->likema ...
- python爬虫qq好友信息,GitHub - equationl/QQzone_crawler: QQ 空间动态爬虫,利用cookie登录获取所有可访问好友空间的动态保存到本地...
关于 Edit by equationl 优先在 码云 上更新 该项目修改自 xjr7670 的 QQzone_crawler 原作者说明: QQ空间动态爬虫 修改了什么? 爬取完整的评论列表 爬取点 ...
- 自己动手写一个QQ空间网络爬虫--qqzoneSpider
QQ空间网络爬虫软件--qqzoneSpider qqzoneSpider 目录 安装 环境 Python版本 相关库 爬虫相关 数据库相关 GUI相关 可视化相关 数据分析相关 使用说明 操作步骤 ...
- Python爬虫学习第二章-1-requests模块简介
Python爬虫学习第二章-1-requests模块简介 这一章主要是介绍requests模块的相关知识以及使用 1.requests模块简介: 概述:是python中原生的一款基于网络请求的模块 ...
- python访问陌生人qq空间_Python爬虫获取QQ空间信息(上)
开发工具 Python版本:3.6.4 相关模块: requests模块: selenium模块: lxml模块: 以及一些Python自带的模块. 环境搭建 安装Python并添加到环境变量,pip ...
- python爬取加密qq空间_python3爬虫爬取QQ好友空间说说
开发环境Win10 python 3.6.3 pycharm 2018.1 第三方库csv requests pymysql selenium 无头浏览器 PhantomJS 主要思路通过QQ邮箱导出 ...
- python爬虫学习第一章
<!DOCTYPE html> python爬虫第一章 python网络爬虫的学习 什么是网络爬虫 按照特定需求,从互联网中搜索有用信息网页进行过滤,就叫网络爬虫. 网络爬虫算法 当浏览信 ...
- 路飞学城-Python爬虫集训-第一章
自学Python的时候看了不少老男孩的视频,一直欠老男孩一个会员,现在99元爬虫集训果断参与. 非常喜欢Alex和武Sir的课,技术能力超强,当然讲着讲着就开起车来也说明他俩开车的技术也超级强! 以上 ...
- python爬虫笔记第二章
前言 你好! 这是基于b站2021年路飞学成爬虫教程的python爬虫学习笔记,主要是方便作者复习和回顾课程内容. 已经发布了第一章和第二章,可以在主页中查看. python爬虫笔记(第二章) 前言 ...
最新文章
- pb设置Oracle事务的隔离级别,Oracle的事务隔离级别
- 薪资留人还是情感留人?
- 数据库连接工具HeidiSql介绍(支持MySQL,MariaDB,Microsoft SQL或PostgreSQL)
- 另一个分区工具:GNU 的 parted(转)
- 分布式设计模式中的Quorum思想
- 力扣 278.第一个错误的版本
- bzoj 1641: [Usaco2007 Nov]Cow Hurdles 奶牛跨栏(floyd)
- 1.11 Linux压缩和解压文件
- 计算机组成原理白中英知识点总结,计算机组成原理重点整理(白中英版)
- ios抓包软件Thor限时折扣6元中,手慢无
- VOIP技术连载之一 VOIP简介
- VUE+ElementUI实现div滚动条替换
- The APR based Apache Tomcat Native library which allows optimal performance in production
- 性能监控与调优篇之【3. JVM 监控及诊断工具-GUI 篇】
- matlab控制流上机报告,MATLAB实验指导书(2013)要点
- json数据和json数据与python之间的转换
- 教妹学Java(一):什么是Java?
- wazuh agent 认证
- 明明有网 但是下边显示小地球怎么办 一招解决
- WIN10FTP站点搭建
热门文章
- 设计模式学习笔记之二:观察者模式
- [原创][Windows] Win7安装visual c++ 2015 redistributable x64失败
- PML调用PDMS内核命令研究
- C# 添加PDF注释(5种类型)
- MSSQL日期格式转换函数(使用CONVERT)
- Exchange 2016 CU9 已发布
- Office365 PowerShell打开邮箱审计功能
- C++笔记(1):使用STL中sort()对struct排序
- 【转载】ASP.NET MVC中Controller与View之间的数据传递总结
- 31muduo_net库源码分析(七)