【WB】微博爬虫案例_无头浏览器采集_selenium/playwright/requests方式采集


人立晚风月照中
独散步长廊
月浸在池塘
欢欣充满了心上
静听乐悠扬
越觉乐洋洋
夜鸟高枝齐和唱
月照彩云上
熏风轻掠
如入山荫心向往
                     🎵 苏妙玲《彩云追月》


import timeimport requests
from playwright._impl._errors import TimeoutError
from playwright.sync_api import sync_playwright
from loguru import logger
from scrapy import Selector
import re
from urllib.parse import urlparsedef extract_html_text(html):logger.info(f"Worker-0-run-extract_html_text")selector = Selector(text=html)# 去掉空格和换行符text = selector.xpath('//body//text()').re(r'\S+|\n+')text = ''.join(text)charlist = re.findall('[\u4e00-\u9fa5]+', text)text = ''.join(charlist)if text:return text.strip()else:return ''def extract_html(url):# 启动Playwrightwith sync_playwright() as p:# 选择浏览器引擎(chromium、firefox、webkit)browser = p.chromium.launch(headless=True,  # 设置为False以便在界面模式下启动浏览器executable_path=r'/Applications/Chromium.app/Contents/MacOS/Chromium'  # 设置浏览器路径# executable_path=r'/Applications/Google Chrome.app/Contents/MacOS/Google Chrome'  # 设置浏览器路径)# headers = {#     'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3',# }context = browser.new_context()pageInit = context.new_page()page = context.new_page()page.set_default_timeout(15000)page.goto(url)# 等待7stime.sleep(5)html = page.content()# print(html)page.close()return htmldef crawl(url):html = ''try:html = extract_html(url)except TimeoutError as e:logger.info("页面访问超时,检查网络连接或者网站是否正常")except Exception as e:logger.error("页面访问异常")response = Selector(text=html)values = response.xpath("//footer/@aria-label").extract_first()share, comment, like = values.split(',')print(share, comment, like)def is_valid_http_url(url):parsed_url = urlparse(url)return parsed_url.scheme in ("http", "https")def request_url(wId):url = f'https://weibo.com/ajax/statuses/show?id={wId}&locale=zh-CN'headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3',"Cookie": "SUB=_2AkMRHTAuf8NxqwFRmfscyW7na4Rzzw3EieKnQcH1JRMxHRl-yT9kqnBetRB6Op0ewXqJGg99xI9PHf9GLxIl4ywMtbjK;"}resp = requests.get(url, headers=headers)data = resp.json()reposts_count = data['reposts_count']comments_count = data['comments_count']attitudes_count = data['attitudes_count']print(reposts_count, comments_count, attitudes_count)if __name__ == '__main__':url = 'https://weibo.com/1731986465/Oe4y0u9Pn?refer_flag=1001030103_'ret = crawl(url)wId = url.split('/')[-1].split('?')[0]request_url(wId)

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

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

相关文章

算法设计与分析(超详解!) 第三节 贪婪算法

1.贪心算法基础 1.贪心算法的基本思想 贪心算法是从问题的某一个初始解出发,向给定的目标推进。但它与普通递推求解过程不同的是,其推动的每一步不是依据某一固定的递推式,而是做一个当时看似最佳的贪心选择,不断地将问题实例归…

【C++】string类的使用④(字符串操作String operations || 常量成员Member constants)

🔥个人主页: Forcible Bug Maker 🔥专栏: STL || C 目录 前言🔥字符串操作(String operations)c_strdataget_allocatorcopyfindrfindfind_first_offind_last_offind_first_not_offind_last_not…

11、FreeRTOS 队列、队列集,邮箱的使用

文章目录 一、队列的特性1.1 队列常规操作1.2 传输数据的两种方法1.3 队列的阻塞访问 二 队列函数2.1创建2.2 复位2.3 删除2.4 写队列2.5 读队列2.6 查询2.7 覆盖/偷看 三、示例3.1示例 队列的基本使用3.2 示例: 分辨数据源3.3 示例: 传输大块数据3.4 : 邮箱(Mailbox) 四、队列…

白盒测试:覆盖测试及测试用例设计

白盒测试:覆盖测试及测试用例设计 一、实验目的 1、掌握白盒测试的概念。 2、掌握逻辑覆盖法。 二、实验任务 某工资计算程序功能如下:若雇员月工作小时超过40小时,则超过部分按原小时工资的1.5倍的加班工资来计算。若雇员月工作小时超过…

ansible -playbook运维工具、语法、数据结构、命令用法、触发器、角色

目录 配置文件 基本语法规则: YAML支持的数据结构 playbook核心元素 ansible-playbook用法: 触发器 特点: 角色: 习题: 配置文件 playbook配置文件使用yaml语法,YAML 是一门标记性语言,专门用来写配…

windows和Linux卸载移动磁盘

文章目录 Linux卸载磁盘target is busy.window卸载磁盘打开事件查看器 Linux卸载磁盘target is busy. #查看有哪些进程访问挂载点 lsof /media/lei/repository/#杀死进程 pkill node window卸载磁盘 #提示 #该设备正在使用中. 请关闭可能使用该设备的所有程序或窗口,然后重试…

【信创】MySQL数据类型到 KingbaseES 数据类型转换

序号 MySQL数据类型 KingbaseES数据类型 备注说明 (MySQL) 数值型 1 TINYINT TINYINT 有符号整数,取值范围 -128 ~ 127 2 SMALLINT SMALLINT 有符号整数,取值范围 -32768 ~ 32767 3 MEDIUMINT MEDIUMINT 有符号整…

GEE土地分类——如何使用0.5m高分影像(WorldView-2 图像)实现具体的地类分析

简介 本篇博客其实主要的内容是利用高分辨率影像进行土地分类,但是因为很多时候我们看到高分辨影像进行分析,因此我们需要有针对性的用一些指数来提高分辨率,首先看问题: 我目前正在对分辨率为 0.5 米的高分辨率 WorldView-2 图像进行分类。我的目标是准确地对以下土地覆…

Vue 局部布局 Layout 内部布局 [el-row]、[el-col]

之前的布局容器是一个整体的框架,layout里面的布局其实就是el-row和el-col的组合。 基础布局 使用单一分栏创建基础的栅格布局。 通过 ​row ​和 ​col ​组件,并通过 ​col ​组件的 ​span ​属性我们就可以自由地组合布局。 这种最简单,…

Java学习之File类

File类 1. 文件路径 import java.io.File;public class DemoFile1 {public static void main(String[] args) {// 选择路径时,从当前磁盘的根路径开始String path "D:\\workspace\\java\\data\\students.txt";File file new File(path);System.out.pr…

2024年可以做的网上兼职有哪些?10个正规赚钱软件平台分享

在数字化浪潮席卷全球的今天,兼职工作早已不再局限于传统的线下模式。只要有一部手机或电脑,你就能轻松开启兼职之旅,实现躺着也能赚钱的梦想! 接下来,就让我们一起看看2024年那些靠谱又有趣的网上兼职项目吧&#xff…

谷歌插件V3知识点

1.background.js与content.js与popup.js对比: background.js 生命周期:一开始就执行,最早执行且一直执行; 作用:放置全局的、需要一直运行的代码,权限非常高几乎调用所有Chrome api,还可以发起跨域请求; content.js 生…

STK12 RPO模块学习 (1)

一、背景介绍 在STK12中,在Astrogator的模块上开发了新的模块(Rendezvous and proximity operations)。轨道交会接近通常来说是一个很复杂的过程。RPO实现需要对轨道动力学有一个清晰的理解,并且对于Astrogator模块具备很强的背景和经验&…

2024最新软件测试【测试理论+ Linux】面试题(内附答案)

一、测试理论 3.1 你们原来项目的测试流程是怎么样的? 我们的测试流程主要有三个阶段:需求了解分析、测试准备、测试执行。 1、需求了解分析阶段 我们的 SE 会把需求文档给我们自己先去了解一到两天这样,之后我们会有一个需求澄清会议, …

Kaspa是潜力金吗?那么如何获取,以bitget钱包为例

$KAS 这个币比较小众,华语区知道的不多,目前挖这个币的矿工也不多,但是大家都有一个默契,就是尽量不要宣传,先建设生态,自私的心理就是:自己先多挖些币。 简单介绍一下 #KASPA 这个项目&#x…

理解安卓系统的三个时间

安卓设备有三种不同的可用时钟: System.currentTimeMillis()SystemClock.uptimeMillis()SystemClock.elapsedRealtime() 一、System.currentTimeMillis() System.currentTimeMillis()是一个标准的“墙”时钟(时间和日期),表示从纪元到现在的毫秒数。该…

[算法][BFS][leetcode]994. 腐烂的橘子

题目地址 https://leetcode.cn/problems/rotting-oranges/description/ 错误解法 class Solution {public int orangesRotting(int[][] grid) {//层序遍历int ans 0;for (int i 0;i<grid.length;i) {for(int j 0;j<grid[0].length;j){boolean flag false;if(grid[i][j…

C++中匿名对象介绍及使用场景详解

在C中&#xff0c;匿名对象是一种特殊的对象&#xff0c;它没有被命名&#xff0c;通常用于执行一系列操作或调用某个函数&#xff0c;而不需要将结果存储到变量中。使用匿名对象的场景通常是当只需要临时使用一个对象而不需要再次引用它时。 匿名对象的创建非常简单&#xff…

【光线重塑技术】小姐姐,美得不可方物——lllyasviel/ic-light

在英伟达自18年宣布光追技术之后&#xff0c;RTX显卡也成了目前Steam游戏的常客。就连 AMD、Intel 和 Apple Silicon 都宣布要在GPU上支持光追算法。这次我要介绍的是huggingface上比较火的relight技术—— ic-light 介绍 IC-Light 是一个操纵图像照明的项目。 IC-Light &qu…

媒体宣发:多元宣发方式的方式有哪些

在信息爆炸的今天&#xff0c;媒体宣发被广泛地运用在各个领域&#xff0c;对于产品宣传、企业形象塑造等都起着至关重要的作用。多样化的媒体宣发方式越来越受到企业的重视&#xff0c;那么常见的媒体宣发方式有哪些呢&#xff1f; 首先&#xff0c;新闻发布是最传统也是最直…