PHP头条爬虫,今日头条爬虫分析-爬取用户发的所有内容
今日头条的用户页数据爬取跟频道页的数据爬取大部分很类似,但稍微有一点不一样,就是用户主页的接口signature有点不一样,需要将当前爬取的用户id和分页时间戳一起作为入参传递进去才能获取到真正的signature,除了这一点差异外其他的都是一样的思路,上代码:
def fetch_user_articles(self, user, browser):
honey = json.loads(self.get_js())
signature = honey['_signature']
max_behot_time = "0"
_as = honey['as']
cp = honey['cp']
if self.user_page > 0:
signature = browser.execute_script("return window.TAC.sign(" + user.user_id+max_behot_time + ")")
headers = {
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36',
'Connection': 'keep-alive',
'authority': 'www.toutiao.com',
'referer': user.media_url,
'method': 'GET',
'path': "/c/user/article/?page_type=1&user_id={}&max_behot_time={}&count=20&as={}&cp={}&_signature={}".format(
user.user_id, max_behot_time, _as, cp, signature),
'scheme': 'https'
}
self.s.headers.update(headers)
req_url = "https://www.toutiao.com/c/user/article/?page_type=1&user_id={}&max_behot_time={}&count=20&as={}&cp={}&_signature={}".format(
user.user_id, max_behot_time, _as, cp, signature)
req = self.s.get(req_url, proxies=get_proxy_ip())
# 通过随机数控制请求速度
time.sleep(random.random() * 2 + 2)
data = json.loads(req.text)
max_behot_time = str(data['next'][max_behot_time])
if data['has_more']:
self.user_page = self.user_page + 1
self.parse_user_artcle(data['data'], toutiaoitem.user_id, toutiaoitem.media_url)
#在休眠2s
time.sleep(2)
self.fetch_user_articles(user, browser)
else:
self.parse_user_artcle(data['data'], toutiaoitem.user_id, toutiaoitem.media_url)
toutiaodb.save(self.user_artcile_list)
def parse_user_artcle(self, items, user_id, url):
for item in items:
toutiaoitem = toutiaoitem()
toutiaoitem.user_id = user_id
toutiaoitem.source = item['source']
toutiaoitem.title = item['title']
toutiaoitem.source_url = 'https:' + item['display_url']
toutiaoitem.media_url = url
toutiaoitem.item_id = item['item_id']
toutiaoitem.abstract = item['abstract']
toutiaoitem.comments_count = item['comments_count']
toutiaoitem.behot_time = item['behot_time']
toutiaoitem.image_url = item['image_url']
toutiaoitem.image_list = item['image_list']
toutiaoitem.tag = item['tag']
toutiaoitem.chinese_tag = item['chinese_tag']
toutiaoitem.read_count = item['go_detail_count']
toutiaoitem.article_genre = item['article_genre']
self.user_artcile_list.append(toutiaoitem)
PHP头条爬虫,今日头条爬虫分析-爬取用户发的所有内容相关推荐
- python爬取快手粉丝榜_[Python] 【原创开源】快手爬虫,根据id批量爬取用户的所有图集和视频...
分享 写在前面代码功能如题,根据快手用户的id来爬取用户所有公开作品,包括图集和视频. 原理:其实就是利用基于chromium内核的浏览器自带的devtools对所有请求进行排查找出包含作品链接的请求 ...
- python批量爬取图片_【原创开源】快手爬虫,根据id批量爬取用户的所有图集和视频...
更新日志 所有版本更新日志会记录在这里 v0.4.0(2020-03-23) 修复id转eid的一些bug 从该版本开始,爬取视频均为无水印 v0.3.0(2020-03-10) 修复一些因为用户昵称 ...
- 快手视频批量采集 php,【原创开源】快手爬虫,根据eid批量爬取用户的所有图集和视频【已失效】...
[Python] 纯文本查看 复制代码# -*-coding:utf-8 -*- import requests import time import os import json import th ...
- 网络爬虫-今日头条_signature参数逆向(第一弹)
失踪人口回归ing 今天要讲的是今日头条web版的_signature参数逆向 直接上链接 --> 今日头条 首先随便点开一个版本,这里点的是娱乐,抓包看看结果. 可以很清晰地看到首页html源 ...
- Scrapy豆瓣爬虫 爬取用户以及用户关注关系
文章目录 明确任务 1.新建mysql数据库以及数据表 1.1 创建数据库 1.2 创建用户信息表users 1.3 创建用户关注表user_follows 笔记一: mysql中utf8与utf8m ...
- python 今日头条 微头条_今日头条微头条范文-头条号的微头条你们都发些什么,该如何写?...
头条号的微头条你们都发些什么,该如何写? 心灵相约头条号.呼唤着,努力着,拼搏着,它属于努力地人们,是传播正能量的家园.今天起要根扎头条号,写出优秀地原创作品.头条号的朋友们努力吧!用心血和汗水浇灌头 ...
- 土木工程转专业,上岸趣头条、今日头条后端开发,学习历程分享
学习群小伙伴的学习面试经历,在去年刚转专业开始学习的时候给到他路线和学习过程中的帮助,所以他在学习过程中基本没走弯路,执行力也很强.里面提到的很多学习上的点也是我在文章中一直反复强调的,其他同学可以借 ...
- Python高级特性与网络爬虫(一):使用Ajax请求爬取用户微博内容和python多进程爬取用户图片
最近阅读了崔庆才写的<Python3网络爬虫开发实战>,系统地学习一下利用Python写网络爬虫.由于这本书出版时间是2018年,很多书中案例涉及的网站已经改版,基本上每个案例都需要自己再 ...
- 今日头条和今日头条极速版究竟有什么区别
首先,今日头条和今日头条极速版都是字节跳动公司旗下的产品.两款产品都可以看视频.看新闻.最大的区别就在于:出发点不同,针对人群不同. 一.今日头条APP 今日头条APP(以下简称头条),它的主要出发点 ...
最新文章
- c语言编程题餐饮服务打分,求详细分析C语言题餐饮服务质量调查打分题和答案..._质量员考试_帮考网...
- 关于短文本匹配的深度学习模型
- 程序员能力矩阵 你属于哪一层?
- 6月份不良与垃圾信息举报:垃圾邮件占40.4%
- exchange离线整理数据库
- 一个优秀的程序员应该如何提高工作效率?
- 大厂面试算法系列-如何实现链表的逆序(二)-递归法
- Eclipse中执行Tomcat源代码
- GitHub 热榜第一:最全中华古诗词数据库,收录30多万诗词
- 黑客社会工程学攻击特别危险,你知道多少?
- 酷狗歌曲缓存kgtemp转mp3工具
- RS485接收数据后发送乱码
- 天池大数据竞赛 阿里流行音乐艺人热度预测
- Win7 SP1 安装 .NET Framework 4.6.2,提示“时间戳签名和或证书无法验证或已损坏”
- 周杰伦新专辑预售热点传播渠道分析
- 软件测试周刊(第63期):凡是持久的,必是温和的与可持续的。
- couldn't create PTY
- 仿iphone顶部状态栏_无需第三方APP,苹果iPhone手机屏幕录制的方法
- 5G将又是一个失败的存在
- 2016.06工作日志
热门文章
- 《金蝶ERP-K/3完全使用详解》——6.2 产品预测单
- C IN ARM64 汇编基础-变量与表达式-基于The C Programming Language - Second Edition
- 信源编码技术作业1:使用Audacity绘制并分析清音、浊音、爆破音的频谱图
- 基于JAVA+SpringMVC+Mybatis+MYSQL的快递代收系统
- Snipaste截图时下拉菜单消失解决方法
- 考研调剂 计算机科学 软件,四川大学计算机学院(软件学院)2020非全日制考研调剂信息...
- Google卫星地图的URL计算
- 计算机因特尔网络论文,[心得]英特尔
- 游戏数值策划入门介绍
- 电脑开机自动联服务器,如何让Mac开机自动连接到NAS或网上邻居上的电脑