【小白学Python】爬取数据(三)

【小白学Python】自定义图片的生成(一)

【小白学Python】自定义图片的生成(二)

本文继前两篇文章之后,将前两篇生成图片的文字自动化爬取生成,
爬取zhihu的部分问答数据,仅作本人的学习使用。

import time
import requests
import json
import base64
from bs4 import BeautifulSoup
from fake_useragent import UserAgent
from faker import Faker# Create UserAgent and Faker objects
ua = UserAgent()
fake = Faker()# Generate a random User-Agent and fake IP address
random_ua = ua.random
fake_ip = fake.ipv4()# Set headers and proxy
headers = {'User-Agent': random_ua,'referer': 'https://www.zhihu.com/','cookie' : '你自己cookie‘
}
proxies = {"http": f"http://{fake_ip}","https": f"http://{fake_ip}"
}def request_page(url, limit, offset):params = {'limit': limit, 'offset': offset}response = requests.get(url, params=params, headers=headers).content.decode('utf-8')return json.loads(response)def is_base64_encoded(data):try:if isinstance(data, str):# Check if data can be decoded from base64base64.b64decode(data)return Truereturn Falseexcept Exception:return Falseurl = 'https://www.zhihu.com/api/v4/columns/c_1315712092947886080/items'
output_file = "D:/data.txt"
limit = 10
offset = 0try:with open(output_file, "w", encoding='utf-8') as file:for i in range(300):print(f"Fetching data batch {i + 1} with offset {offset}")json_response = request_page(url, limit, offset)print(f"Received response: {json_response}")for data in json_response['data']:time.sleep(5)article_id = data['id']content_url = f"https://zhuanlan.zhihu.com/p/{article_id}"print(f"Fetching content from: {content_url}")content = requests.get(content_url, headers=headers).content.decode('utf-8')# Check if content is base64 encodedif is_base64_encoded(content):try:decoded_content = base64.b64decode(content)except Exception as e:print(f"Failed to decode base64 content for article ID: {article_id} - {e}")continueelse:decoded_content = content# Parse the HTML contentsoup = BeautifulSoup(decoded_content, 'html.parser')article_content_div = soup.find('div', class_="RichText ztext Post-RichText css-1ygg4xu")if article_content_div is None:print(f"No content found for article ID: {article_id}")continuearticle_content = article_content_div.text.strip()qa_list = article_content.split("Q:")qa_list.pop(0)for qa in qa_list:try:index = qa.index("@")question = qa[:index].strip()answer = qa[index:].strip()print(f'Q: {question}\n')print(f'A: {answer}\n')# Write to the local text filefile.write(f'Q: {question}\n')file.write(f'A: {answer}\n\n')except Exception as e:file.close()print(f"An exception occurred while processing Q&A: {e}")offset += limitexcept Exception as e:file.close()print(f"An exception occurred during file operations: {e}")

上述代码会生成一个data.txt文件,文件格式如下:

在这里插入图片描述

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

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

相关文章

29. 透镜阵列

导论: 物理传播光学(POP)不仅可以用于简单系统,也可以设计优化复杂的光学系统,比如透镜阵列。 设计流程: 透镜阵列建模 在孔径类型中选择“入瞳直径”,并输入2 在视场设定中。设置一个视场&…

STM32高级控制定时器(STM32F103):PWM输出模式

目录 概述 1 PWM模式介绍 2 PWM类型 2.1 PWM边缘对齐模式 2.2 PWM中心对齐模式 3 使用STM32Cube配置PWM 3.1 STM32Cube配置参数 3.2 生成Project 4 设置PWM占空比 4.1 函数介绍 4.3 函数源码 5 测试代码 5.1 编写测试代码 5.2 函数源码 6 运行代码 概述 本文主…

一平台一张图,撑起危化生产“安全伞”

安全生产是永恒的主题,是一切工作的基础。 风险辨识不到位、特种作业不合规、隐患治理不彻底、应急能力不匹配……如何从消除事故隐患、从根本上解决问题?随着新一代信息技术和安全生产的深度融合,安全生产的管理方式也在发生深刻变化。 提前…

Ubuntu22.04启用/etc/rc.local

在Ubuntu 22.04 中,默认的 rc.local 服务并没有启用,因此需要手动配置启用 创建配置文件 #创建rc.local文件 echo #!/bin/bash > /etc/rc.local #添加执行权限 chmod 755 /etc/rc.local 启动服务 #启动服务 systemctl start rc-local #显示状态 s…

基于STM32的智能水产养殖系统(三)

智能水产养殖系统设计 背景 智能水产养殖系统的设计背景主要源于对传统养殖方式的现代化需求和技术进步的推动。以下是该背景的详细阐述: 现代化养殖需求增加: 随着人口增长和食品需求的提升,传统的水产养殖方式面临诸多挑战,如资…

4、matlab双目相机标定实验

1、双目相机标定原理及流程 双目相机标定是将双目相机系统的内外参数计算出来,从而实现双目视觉中的立体测量和深度感知。标定的目的是确定各个摄像头的内部参数(如焦距、主点、畸变等)和外部参数(如相机位置、朝向等&#xff09…

SpringBoot 集成安全加密运行工具,防止反编译代码泄露

文章目录 背景springboot集成xjar方法(maven项目)在pom文件中配置xjar插件在idea中指定模块maven命令参数设置密码打包Linux安装go环境编译启动器运行项目背景 众所周知,原生Java程序编译后的.class文件可以被反编译,反编译就是针对编译生成的 jar/war 包 里面的 .class 文…

海南云亿商务咨询有限公司抖店开店怎么样?

在数字化浪潮席卷全球的今天,电商行业日新月异,其中抖音电商以其独特的短视频直播模式,迅速崛起成为电商领域的新贵。海南云亿商务咨询有限公司,作为抖音电商服务的佼佼者,凭借专业的团队和丰富的经验,致力…

openlayers之ImageWMS监听事件

ol.source.ImageWMS,WMS 服务提供的单一的图片数据,继承自 ol.source.Image,触发 ol.source.ImageEvent; 触发事件 imageloadstart,图片地图开始加载触发的事件;imageloadend,图片地图加载完毕…

qt里面的moc文件是什么,有什么作用,它是自动生成的文件吗

在Qt框架中,MOC(Meta-Object Compiler,元对象编译器)是一个特殊的预处理器,用于扩展C语言,使其支持信号与槽机制、运行时类型信息、动态属性系统以及其他一些高级特性。Moc通过解析源代码中特定的Qt宏&…

代理配置SQUID

目录 SQUID代理服务器配置 监听浏览器访问记录 拒绝访问配置 SQUID代理服务器配置 实验系统 windows 10 xxxxx Roucky_linux9.4 192.168.226.22 监听浏览器访问记录 1. 安装squid yum install squid -y 2. 编辑squid配置文件 vim /etc/squid…

SAP 物料主数据 PRD覆盖QAS实现-货源同步

货源同步 EORD FORM FRM_SYNEORD.DATA:LTOKEN TYPE STRING.DATA: LL_LINES(10),"行数LL_TABIX(10),"循环标号LL_PECNT TYPE P LENGTH 6 DECIMALS 2, "百分比LL_PECET(6),"百分数LL_TEXT(40)."消息CLEAR: LL_LINES,LL_TABIX,LL_PECNT,LL_PECET,L…

一个很好用的地图工具的使用:思极地图,以及vue+思极地图的使用

前言: 随着现在国网等一部分公司的需求,在线地图-思极地图 出现在我们眼前,给我们带来了很多便利,这里分享下他的信息与使用。 实现效果: 相关资料: 1、官网地址 2、在线地址 3、官方api地址 实现步骤-js…

从Instance classifier重新思考多实例学习

弱监督的WSI分类通常被形式化为多实例学习(MIL)问题,其中每张slide都被视为一个bag,从中切出的patch被视为实例。现有的方法要么通过伪标记训练实例分类器,要么通过注意力机制将实例特征聚合为bag特征,然后…

新能源汽车的能源动脉:中国星坤汽车电缆在新能源汽车电气化中的应用!

随着新能源汽车行业的蓬勃发展,汽车电缆组件作为汽车电气系统的核心组成部分,其重要性日益凸显。中国星坤汽车电缆组件以其卓越的性能和创新技术,为汽车的电能传输、信号传递和控制提供了坚实的保障。本文将深入解析星坤汽车电缆组件的特性、…

从社交网络到元宇宙:Facebook的战略转型

随着科技的迅猛发展和数字化时代的深入,社交网络已不再局限于简单的信息交流和社交互动,而是逐步向更广阔、更深远的虚拟现实空间——元宇宙(Metaverse)转变。作为全球最大的社交网络平台之一,Facebook正在积极推动这一…

和服务器建立联系——6.10山大软院项目实训1

下面介绍我如何在自己的项目中,根据aigc组的接口(如下图),在Unity中和服务器建立联系并发出接受请求的: 这是一个通过HTTP POST方法调用的接口,需要发送JSON格式的数据。在Unity中实现这样的功能&#xff0…

tkinter 电子时钟 实现时间日期 可实现透明 无标题栏

使用tkinter库实现的电子时钟,包含时间和日期,可以设置透明和无标题栏: import tkinter as tk import timeclass DigitalClock(tk.Tk):def __init__(self):super().__init__()self.title("Digital Clock")self.configure(bgblack)…

C++语法15 多分支结构(if多分支与switch结构)

if else if else 多分支结构基本框架 if(条件1)语句1; //满足条件1就执行 else if(条件2)语句2; //不满足条件1,但是满足条件2执行 else if (条件3)语句3; //不满足条件1和条件2&#x…

HACH哈希紫外可见光分光光度计维修DR6000

DR3900可见分光光度计内置准双光束光学系统,自动校准波长,该可见光分光光度计预置200多个用户程序,几乎覆盖常规水质参数,彩色触屏搭载中文操作界面,可自动分析检测并存储2000组实验数据,是一款测量准确的可…