python爬虫实战——今日头条新闻数据获取

news2024/11/26 20:22:41

大家早好、午好、晚好吖 ❤ ~欢迎光临本文章

如果有什么疑惑/资料需要的可以点击文章末尾名片领取源码

第三方库:

  • requests >>> pip install requests

第三方模块安装:

win + R 输入cmd 输入安装命令 pip install 模块名

(如果你觉得安装速度比较慢, 你可以切换国内镜像源)

开发环境:

  • python 3.8

  • pycharm 专业版

案例步骤:

一. 思路分析

  • 找到数据来源地址

    文章标题 文章发布时间 文章内容

  • 在列表页当中获取详情页的链接

  • 访问详情页链接 拿到 需要的数据

二. 代码实现

  1. 访问列表页链接

本案例视频教程/源码可+V:qian97378,还可获取:

  • python安装包 安装教程视频

  • pycharm 社区版 专业版 及 激活码免费

代码展示

'''
python资料获取看这里噢!! 小编 V:qian97378,即可获取:
文章源码/教程/资料/解答等福利,还有不错的视频学习教程和PDF电子书!
'''
import requests
from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
headers = {
    'Referer': 'https://***屏蔽,不然发不出***/?wid=1697699263232',
    'cookie': 'ttcid=92ece02000f2467c8199a042d1a7783d39; csrftoken=ae047567561c48e5dd9e2fc0b22ea545; tt_anti_token=04f1H0rq1BU-9b92ba89f64e967f88b554f9888051221bf2afb87f2d4944350b78b2a42969f6; tt_webid=7194689479734134327; local_city_cache=%E9%95%BF%E6%B2%99; _ga=GA1.1.1774896154.1697699265; s_v_web_id=verify_lnwub4sw_omFJ90tA_qOum_4AzC_8f7f_zAvYWn8bjFbi; _S_WIN_WH=1611_817; _S_DPR=1; _S_IPAD=0; msToken=tlOZw3Cf8-FurmSOujuTolA64e0t8pvjXe0ZvtWz8xZnlufMZEA3jAuXwmeVMujIh2nnkoNEDndXJc83JtWJctnhGizVqudQLY9hhrJd; _ga_QEHZPBE5HH=GS1.1.1697699264.1.1.1697700966.0.0.0; tt_scid=rI2Aqe4745U2cQcnyiJFQquxaMuGqBEeR849tR2hG41-cApqsmw2F3uBx7Fjtl0f72db; ttwid=1%7CiWx9zpr2eLSL5pxwfW7PdpTasAnL2Tszm5jFlS0A_ac%7C1697700966%7C075ec2a1c6ec5be355f2cdf0f5bbb1d33c2a2ed36743aebea5dc2609b1e73a79',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36'
}
url = 'https://***屏蔽,不然发不出***/api/pc/list/feed?channel_id=0&max_behot_time=1697699614&offset=0&category=pc_profile_recommend&aid=24&app_name=toutiao_web&_signature=_02B4Z6wo00101.CXQxAAAIDCk52Derk.V6Pws0eAAJkeQEsbY9XZOs-9WUI.4KOjzx5RWdVK7Uc6XjjHHZwZUf3MSEY9lGtY1O7hGUt4Ji3bXrDCOlnlmIYTKDhUlOIpPF0OjwF4K22oKIrMe2'
# 1. 访问列表页链接
response = requests.get(url=url, headers=headers)
# 2. 提取数据
json_data = response.json() # 拿到所有的数据
# 将这个数据里面的 详情页链接 标题 拿到
data_list = json_data['data']
for data in data_list:
    detail_url = data['url']
    print(detail_url)
    title = data['title']
    driver.get(detail_url)
    driver.implicitly_wait(2)
    create_time = driver.find_element(By.XPATH, '//div[@class="article-meta"]').text
    content = driver.find_element(By.XPATH, '//article').get_attribute("outerHTML")
    print(title, create_time, content)

尾语

好了,今天的分享就差不多到这里了!

对下一篇大家想看什么,可在评论区留言哦!看到我会更新哒(ง •_•)ง

喜欢就关注一下博主,或点赞收藏评论一下我的文章叭!!!

最后,宣传一下呀~👇👇👇 更多源码、资料、素材、解答、交流 皆点击下方名片获取呀👇👇👇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1167096.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【前端周报11.03】

前端周汇报11.03 那我们接着上一周的继续往下进行推进上周总结本周工作下周内容 那我们接着上一周的继续往下进行推进 上周总结 上一周的话我其实最主要的工作还是进行了一系列的调研主要的话是针对于我们未来要做的小程序的项目的,为未来开发这个小程序做好一系列…

一整套智慧工地源码,劳务实名制、施工安全管理、绿色施工、危大工程设备监测、视频AI识别功能

智慧工地系统充分利用计算机技术、互联网、物联网、云计算、大数据等新一代信息技术,以PC端,移动端,设备端三位一体的管控方式为企业现场工程管理提供了先进的技术手段。让劳务、设备、物料、安全、环境、能源、资料、计划、质量、视频监控等…

c 函数调用过程中,调用函数的栈帧一旦被修改,被调用函数则无法正确返回。( X )

当一个函数被调用时,它的栈帧会被创建并压入调用栈中。栈帧包含了函数的局部变量、参数以及返回地址等信息。当函数执行完毕后,栈帧会被弹出,返回到调用函数的位置继续执行。 下面是一个示例代码,展示了调用函数栈帧被修改但不影…

【Python_GraphicsView 学习笔记(一)】Graphics View框架的基本介绍

【Python_GraphicsView 学习笔记(一)】Graphics View框架的基本介绍 前言正文1、Graphics View框架简介2、Graphics View框架与QPainter类的区别3、Graphics View框架的三个组成部分4、场景QGraphicsScene类5、视图QGraphicsView类6、图形项QGraphicsIte…

解析电源模块功能测试项目 电源模块测试系统助力功能测试

电源测试一般包括保护特性测试、安规测试、电磁兼容测试、可靠性测试、功能测试以及其它一些特定测试。电源功能测试是评估电源质量好坏、性能、响应等的重要测试方法,也是电源的常规测试内容。 电源功能测试项目 电源功能测试是确保电源稳定性和可靠性的重要测试指…

使用android studio开发flutter应用,10分钟环境配置

1.安装flutter sdk 安装中文官网配置环境即可:安装和环境配置 - Flutter 中文文档 - Flutter 中文开发者网站 - Flutter 然后如果你的网络不好的话,可以修改flutter的源地址,将下面的变量创建成新的环境变量 FLUTTER_STORAGE_BASE_URLhttp…

接口测试框架中的鉴权处理!

接口自动化测试中通常都有鉴权机制,就是判断是否在登录状态下,已登录方可调用接口,未登录则不可调用。本文将带领大家学习使用rest-assured框架实现基于cookies和token的鉴权关联,实现接口自动化测试。 1、基于cookies的鉴权关联…

创建自定义美颜滤镜:使用第三方美颜SDK的步骤指南

美颜滤镜在现代移动应用和直播平台中变得越来越受欢迎。它们可以让用户在自拍照片、视频聊天或实时直播中看起来更加美丽和自信。如果您是一位应用开发者,想要增加美颜滤镜功能,但又不想从头开始构建整个系统,那么使用第三方美颜SDK可能是一个…

【C++ 学习 ㉚】- 超详解 C++11 的右值引用

目录 一、左值和右值 二、左值引用和右值引用 三、移动语义 3.1 - 左值引用的短板 3.2 - 移动构造和移动赋值 四、move 函数 4.1 - remove_reference 的实现 4.2 - move 的实现 五、完美转发 5.1 - forward 的实现 5.2 - 使用场景 很多初学者都感觉右值引用晦涩难懂…

宽以光电厚以激光 组合式测宽测厚仪 性价比更高

对于板材类产品而言,对其几何尺寸的品质检测,往往是宽度与厚度兼具的,为了同时满足两种检测需求,制造了组合式测宽测厚仪。 单独的测宽仪的原理有光电、机器视觉、激光等,光电测宽仪不仅可选择的测量原理多&#xff0c…

若依分离版——配置多数据源(mysql和oracle),实现一个方法操作多个数据源

目录 一、若依平台配置 二、编写oracle数据库访问的各类文件 三. 一个方法操作多个数据源 一、若依平台配置 1、在ruoyi-admin的pom.xml添加依赖 <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> <version…

tensorflow-gpu 找不到指定模块

排除&#xff1a; 1.python编译器是64位 查询教程 2. cuda cudnn版本 均是12.2 可以向下兼容 cmd&#xff1a; nvcc -V即可 另一种方法 tensorflow官网教程 pip install tensorflow_gpu1.12.0 4.安装torch-gpu 检查所在环境 解决&#xff01;&#xff01; conda install …

瑞禧生物分享~今天是 碲化银粉体 Ag2Te CAS:12002-99-2

碲化银粉体 Ag2Te CAS&#xff1a;12002-99-2 纯度&#xff1a;99% 仅用于科研 储藏条件&#xff1a;冷藏-20℃ 简介&#xff1a;碲化银是一种无机化合物&#xff0c;化学式是Ag2Te。它是一种单斜晶体&#xff0c;并以矿物的形式存在于自然界中。化学计量的碲化银具有n型半导…

生成第一个 Blazor 应用

前言&#xff1a;博主文章仅用于学习、研究和交流目的&#xff0c;不足和错误之处在所难免&#xff0c;希望大家能够批评指出&#xff0c;博主核实后马上更改。 概述&#xff1a;Blazor 是一个使用 Blazor 生成交互式客户端 Web UI 的框架使用 C# 创建丰富的交互式 UI。共享使…

rabbitmq的confirm模式获取correlationData为null解决办法

回调函数confirm中的correlationDatanull // 实现confirm回调,发送到和没发送到exchange,都触发 Override public void confirm(CorrelationData correlationData, boolean ack, String cause) {// 参数说明:// correlationData: 相关数据,可以在发送消息时,进行设置该参数// …

重大喜讯 | UMS攸信技术斩获厦门5G应用大赛三等奖!

近日&#xff0c;第三届厦门5G应用大赛获奖项目名单公示&#xff0c;攸信技术的“AI5G柔性生产缺陷检测示范线”项目脱颖而出&#xff0c;荣获「第三届厦门5G应用大赛三等奖」&#xff01; 第三届厦门5G应用大赛获奖项目名单 本次获奖既是对攸信技术5G技术创新的鼓励&#xff0…

Ribbon负载均衡原理

一、先看下流程图 备注&#xff1a;红色后面都为拦截器的逻辑&#xff0c;主要是加载配置文件【LoadBalancerAutoConfiguration】&#xff0c;对发送http请求的RestTemplate进行包装拦截&#xff0c;逻辑拦在拦截器里面。 二、LoadBalancerAutoConfiguration 负载均衡用到配置…

Spring集成高性能队列Disruptor

Disruptor简介 Disruptor&#xff08;中文翻译为“破坏者”或“颠覆者”&#xff09;是一种高性能、低延迟的并发编程框架&#xff0c;最初由LMAX Exchange开发。它的主要目标是解决在金融交易系统等需要高吞吐量和低延迟的应用中的并发问题。 Disruptor特点 无锁并发&#x…

kibana中文设置

安装目录下&#xff1a; 修改config/kibana.yml文件&#xff0c;添加如下配置 i18n.locale: "zh-CN"如图&#xff1a; 保存后&#xff0c;重启kibana即可

分组select获取每组用户最新时间的那条数据的查询方式

分组select获取每组用户最新时间的那条数据的查询方式,使用子查询内连接的方式实现 selecttp.user_id AS userId,tp.operator,DATE_FORMAT(tp.create_time,%Y-%m-%d %H:%i:%s) AS operateTimefrom 表名 t1 INNER JOIN(select user_id, max(create_time) max_time from 表名whe…