今日头条新闻数据抓取
今日头条新闻信息抓取 注意的是头条获取的ajax动态数据(数据里还是有点小坑的),json中data数据的9和19是无用信息,另外图片和视频类型也需要排除
# coding=gbk
import requests
import json
import pandas as pd
from lxml import etree
import re
import csv# false=""
# true=""
# null=""def download(url):headers={"authority":"www.toutiao.com","accept":"application/json","cookie":"tt_webid=UM_distide0500427da2a543680c200ee161; _ga=GA1.2.846289002.1555920121; CNZZDATA1259612802=450841153-1555907327-https%253A%252F%252Fwww.baidu.com%252F%7C1556003494; __tasessionId=pvm4sk1561556005960158; s_v_web_id=b3da262bf518fdcf2df06210b0065a55","referer":"https://www.toutiao.com/search/?keyword=%E6%B2%B3%E5%8D%97%20%E6%A0%BE%E5%B7%9D","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36",}html=requests.get(url,headers=headers,verify=False,timeout=10).textprint(html)print(type(html))# return eval(html)return json.loads(html)def download1(url):headers1={"authority":"www.toutiao.com","accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3","cookie":"tt_webid=6682589457788569099;788569099; UM_distinctid=16a438f23b819c-0a360ff16c1a3d-7a1b34-e1000-16a438f23b93f9; csrftoken=ddb7de0500427da2a543680c200ee161; _ga=GA1.2.846289002.1555920121; CNZZDATA1259612802=450841153-1555907327-https%253A%252F%252Fwww.baidu.com%252F%7C1556003494; s_v_web_id=b3da262bf518fdcf2df06210b0065a55; __tasessionId=9xpt12cca1556008616299","referer":"https://www.toutiao.com/search/?keyword=%E6%B2%B3%E5%8D%97%20%E6%A0%BE%E5%B7%9D","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36",}html=requests.get(url,headers=headers1,verify=False,timeout=10).textreturn html# html = requests.get(url=url,headers=headers1,allow_redirects=False)# print(html.status_code)# # print(html.headers["location"])# if html.status_code == 302:# new_id_url = html.headers["location"]# print(new_id_url)## return new_id_url# else:# print("++++++++++++++++")# print(url)# # print(requests.get(url=url,headers=headers1).text)# return etree.HTML(requests.get(url=url).text)list_all=[]key_words=pd.read_csv(r"C:\Users\Lavector\Desktop\百事小红书\redbook.csv",engine='python',header=None).values.tolist()
# for l in range(1):
for l in range(1,len(key_words)):key_word=key_words[l][0]print(len(key_word))print(key_word)list_all.append(key_word)
# print(list_all)try:for i in range(20):print("第{}页".format(i+1))key_url="https://www.toutiao.com/api/search/content/?aid=24&app_name=web_search&offset={}&format=json&keyword={}&autoload=true&count=20&en_qc=1&cur_tab=1&from=search_tab".format(20*i,key_word)key_html=download(key_url)# print(key_html['data'])# print(key_html['data'][0])# print(key_html['data'][1])# print(key_html['data'][2])print(len(key_html['data']))# print(key_html['data'][0][1]['media_name'])for k in range(len(key_html['data'])-1):print(k)print(key_html['data'][k])# try:if not k ==9 :if key_html['data'][k]['app_info']['query_type']=="SearchAggregationInternalQueryType" :name=key_html['data'][k]['media_name']time=key_html['data'][k]['datetime']title=key_html['data'][k]['title']abstract=key_html['data'][k]['abstract']article_url=key_html['data'][k]['article_url']article_html=download1(article_url)content=''.join(re.findall('([\u4E00-\u9FA5])',article_html,re.S))list_all.append([key_word,name,time,title,abstract,content,article_url])print([key_word,name,time,title,abstract,content,article_url])print("+++++++++++++++++++++++++++++++++++++++++======")# elif key_html['data'][k]['cell_type']==20:# passelse:passelse:passexcept Exception as e:with open("头条3.csv", "w", encoding="utf-8", newline="") as f:k = csv.writer(f, dialect="excel")k.writerow(["关键词", "发表人", "发布时间", "标题", "简介", "内容", "链接"])for list in list_all:k.writerow(list)print(e)print('************')passwith open("头条3.csv", "w", encoding="utf-8", newline="") as f:k = csv.writer(f, dialect="excel")k.writerow(["关键词", "发表人","发布时间", "标题", "简介", "内容","链接"])for list in list_all:k.writerow(list)
今日头条新闻数据抓取相关推荐
- python爬取今日头条后台数据_爬虫爬取今日头条数据代码实现
课程链接 讲师的公众号文章:今日头条数据抓取及持久化(完整代码版,含IP和用户代理)mp.weixin.qq.com 课程代码 抓取并持久化user-agent工具utils.py 对于爬虫工具,需 ...
- 利用搜索关键字爬取今日头条新闻评论信息案例
利用搜索关键字爬取今日头条新闻评论信息案例 爬虫4步骤: 1.分析网页 2.对网页发送请求,获取响应 3.提取解析数据 4.保存数据 本案例所用到的模块 import requests import ...
- 高校新闻抓取分析之百度新闻篇---数据抓取
高校新闻抓取分析之百度新闻篇-数据抓取 tips: 本文代码使用python3编写 代码仓库 使用urllib抓取数据 百度新闻网页界面分析 在我读大学的时候(18年前),百度新闻还能基于新闻标题或者 ...
- 小福利,爬取今日头条新闻信息
大家好,我是天空之城,今天给大家带来小福利,爬取今日头条新闻信息 话不多说,代码如下 import requestsheaders={'user-agent':'Mozilla/5.0 (Macint ...
- Android新闻阅读器(数据抓取)
第一篇技术博客,写得不好请见谅,谢谢(^_^) 由于最近师弟师妹们学习Android的需求,于是就写了此篇博客并且与各位分享一下. 整篇博客总共分为两部分. 第一部分搭建一个新闻列表界面(ListVi ...
- 有哪些好用的互联网数据抓取,数据采集,页面解析工具?
1. 互联网刚兴起的时候,数据索引是个大问题,当时Yahoo的分类页面着实火了一阵子. 2.随着互联网数据量越来越大,Google,百度等搜索引擎火了起来.这个阶段,几乎没有比搜索引擎更火的技术了,连 ...
- 今日头条新闻采集爬虫分享
神箭手云爬虫如何采集今日头条新闻 -神箭手云爬虫 -一站式云端通用爬虫开发平台24小时不停机 多样化采集网页内容,快速产生大量而优质的内容,操作简单,无需专业知识. 1.打开神箭手云爬虫官网 2.创建 ...
- Ajax异步数据抓取
1.简介 1 有时候我们在用requests抓取页面的时候,得到的结果可能和在浏览器中看到的不一样,在浏览 2 器中可以看到正常显示的页面数据,但是使用requests得到的结果并没有.这是因为req ...
- python爬取app播放的视频,Python爬虫工程师必学——App数据抓取实战视频教程
爬虫分为几大方向,WEB网页数据抓取.APP数据抓取.软件系统数据抓取.本课程主要为同学讲解如何用python实现App数据抓取,课程从开发环境搭建,App爬虫必备利器详解,项目实战,到最后的多App ...
最新文章
- 语义分割改进:通过视频传播和标签松弛
- 微软公布19财年财报:净利润增长22%,云计算首超个人计算业务
- iptables规则备份和恢复,任务计划chkconfig工具systemd管理服务
- 向上滚动tabBar隐藏向下显示
- 2020年余丙森概率统计强化笔记-第三章 二维随机变量及其分布- 第四章 数字特征
- (JavaWeb)Filter过滤器
- salt-master
- Oracle就业课第四课之子程序
- 安卓手机使用前置摄像头
- html调用接口_搜狗ocr识别接口
- python之模块calendar(汇集了日历相关的操作)
- windows安装nvm
- ACwing 5. 多重背包问题 II(二进制拆分+DP)
- 【LeetCode笔记】56. 合并区间(Java、排序)
- 使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错。字符串的长度超过了为 maxJsonLength 属性设置的值。
- PHP - Smarty
- script标签的加载解析执行
- 洛谷 2051 [AHOI2009] 中国象棋
- [CEOI2017]Mousetrap
- ps去除水印的六种方法