当前位置: 首页 > news >正文

python菜鸟知识

  • 去除空格

str = ' 这是 含 空格 '
print(f'去除两端空格={str.strip()}')
print(f'去除左端空格={str.lstrip()}')
print(f'去除右端空格={str.rstrip()}')
print(f'去除全部空格={str.replace(" ", "")}')
  • 方法返回对象yield

yield ':'.join([ip, port])yield {'ranking': ranking,'name': name,'img': img,'score': score,'author': author,'desc': desc,}
  • 字符串格式化变量format

BASE_URL = 'https://proxylist.geonode.com/api/proxy-list?limit=500&page={page}&sort_by=lastChecked&sort_type=desc'MAX_PAGE = 18urls = [BASE_URL.format(page=page) for page in range(1, MAX_PAGE + 1)]
  • 字符串拆分split

addr_split = addr.split(':')if(len(addr_split) == 2):host = addr_split[0]port = addr_split[1]yield Proxy(host=host, port=port)
  • 字符串拼接

tmp = ['b', 'a', 'c']
print(",".join(str(i) for i in tmp))
  • time格式化strptime

from datetime import datetimetargetTimeStr = "2024-10-08 10:08:00"
target_time = datetime.strptime(targetTimeStr, "%Y-%m-%d %H:%M:%S")# 获取当前时间current_time = datetime.now()print(f"当前时间: {current_time.strftime('%Y-%m-%d %H:%M:%S.%f')}")# 检查当前时间是否达到了目标时间if current_time >= target_time:
  • json转对象 【json.loads

result = json.loads(html)

  • 对象转json 【json.dumps】

json.dumps(item, ensure_ascii=False)
  • 对象中获取属性值

proxy_list = result['data']

  • http请求并返回响应内容

import requests# 1 基础
def request_dangdang(url):try:response = requests.get(url)if response.status_code == 200:return response.textexcept requests.RequestException as e:print(e)return None# 2 扩展【设置header】
def request_data(url):headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36','cookie': 'bid=dT8Z3OE5_cY; _pk_id.100001.4cf6=97307cec25d927ab.1727414571.; __utmz=30149280.1727414571.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utmz=223695111.1727414571.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __yadk_uid=kz8b5hlKFkxH8Y9DITjOMuxWgBYikz0h; ll="108296"; _vwo_uuid_v2=D5055D26948C52E0832B26F1769798A7F|836a6dfe85637bb8c39462e0dadf8747; __utmc=30149280; __utmc=223695111; _pk_ses.100001.4cf6=1; ap_v=0,6.0; __utma=30149280.1074059804.1727414571.1728178377.1728193731.4; __utmb=30149280.0.10.1728193731; __utma=223695111.688962959.1727414571.1728178377.1728193731.4; __utmb=223695111.0.10.1728193731'}try:response = requests.get(url=url, headers=headers)if response.status_code == 200:return response.textreturn Noneexcept requests.RequestException:return None
  • 文件写入txt

"""抓取到的数据写入文件"""def write_item_to_file(item):print('开始写入数据 ====> ' + str(item))with open('dangdang_top_500_book.txt', 'a', encoding='UTF-8') as f:f.write(json.dumps(item, ensure_ascii=False) + '\n')f.close()
  • 写入Excel

import xlwt# 数据写入Excel
def save_to_excel(result_list):if result_list is None:returnbook = xlwt.Workbook(encoding='utf-8')sheet = book.add_sheet('豆瓣电影Top250', cell_overwrite_ok=True)sheet.write(0, 0, '排名')sheet.write(0, 1, '电影名称')sheet.write(0, 2, '图片')sheet.write(0, 3, '评分')sheet.write(0, 4, '作者')sheet.write(0, 5, '简介')for i, item in enumerate(result_list):row = i + 1sheet.write(row, 0, item['ranking'])sheet.write(row, 1, item['name'])sheet.write(row, 2, item['img'])sheet.write(row, 3, item['score'])sheet.write(row, 4, item['author'])sheet.write(row, 5, item['desc'])book.save('豆瓣电影Top250.xls')
  • for循环

# 1-25页
if __name__ == '__main__':for i in range(1, 26):print(f'正在抓取第{i}页')main(i) #自己的业务处理函数
  • html解析 BeautifulSoup

import requests
from bs4 import BeautifulSoup
import xlwt# 采集数据
def collect_data():result_list = []# 分页获取数据for i in range(0, 10):url = 'https://movie.douban.com/top250?start=' + str(i * 25) + '&filter='html = request_data(url)soup = BeautifulSoup(html, 'lxml')movie_sub_list = parse_result(soup)if movie_sub_list:result_list.extend(movie_sub_list)# print(f'movie_list={movie_list}')if result_list:save_to_excel(result_list)# 解析数据
def parse_result(soup):movie_list_this_page = soup.find('ol', class_='grid_view').find_all('li')for item in movie_list_this_page:ranking = item.find('em').get_text()name = item.find(class_='title').stringimg = item.find('a').find('img').get('src')score = item.find(class_='rating_num').stringauthor = item.find('p', class_='').get_text(strip=True)if item.find(class_='inq') is not None:desc = item.find(class_='inq').stringelse:desc = '暂无'print(ranking, name, img, score, author, desc)yield {'ranking': ranking,'name': name,'img': img,'score': score,'author': author,'desc': desc,}
  • 进程池使用multiprocessing

import multiprocessingimport requests
from bs4 import BeautifulSoup
import xlwt
import time
import sys# 采集数据
def collect_data():result_list = []start_time = time.time()urls = []try:# 根据电脑核数设置进程数pool = multiprocessing.Pool(multiprocessing.cpu_count())# pool = multiprocessing.Pool(1)# 分页获取数据for i in range(0, 10):url = 'https://movie.douban.com/top250?start=' + str(i * 25) + '&filter='urls.append(url)# 各进程处理后格式为:[[{},{}],[{}]]result_list_mid = pool.map(collect_data_pool, urls)# result_list_mid = pool.apply_async(collect_data_pool, urls)print('总条数=======', len(result_list_mid))if result_list_mid:result_list = [item for sublist in result_list_mid for item in sublist]# result_list.sort(key=lambda x: x['ranking'], reverse=True)save_to_excel(result_list)pool.close()pool.join()except Exception as e:print('采集数据【异常】', str(e))end_time = time.time()print('总耗时:', end_time - start_time)

持续更新补充ing……

相关文章:

python菜鸟知识

去除空格 str 这是 含 空格 print(f去除两端空格{str.strip()}) print(f去除左端空格{str.lstrip()}) print(f去除右端空格{str.rstrip()}) print(f去除全部空格{str.replace(" ", "")}) 方法返回对象yield yield :.join([ip, port])yield {ranking…...

GPT4o,GPTo1-preview, 拼

兄弟们GPT刚开的 需要上车的扣,工作用 大家一起PIN分摊点压力。 在当今数字化的时代,程序员这一职业已经从幕后走到了前台,成为推动科技进步和社会变革的关键力量。编写代码、解决问题、不断学习新技术,程序员们的日常充满了挑战与…...

论文笔记:Pre-training to Match for Unified Low-shot Relation Extraction

论文来源:ACL 2022 论文地址:https://aclanthology.org/2022.acl-long.397.pdf 论文代码:https://github.com/fc-liu/MCMN (笔记不易,请勿恶意转载抄袭!!!) 目录 A…...

一篇文章带你快速了解linux中关于信号的核心内容

1. 信号概念 信号是操作系统用来通知进程某个特定事件已经发生的一种方式。它们是一种软件中断,可以被发送到进程以对其进行异步通知。 2. 信号处理的三种方式 执行默认动作执行自定义动作忽略 signal() 函数:将信号处理设置为 SIG_IGN,可…...

openEuler、Linux操作系统常见操作-(6)如何登录Linux

如何登录Linux Linux登陆方式主要有如下两种: 。本地登陆 。一个典型的Linux系统将运行六个虚拟控制台和一个图形控制台,openEuler目前暂未支持图形化界面; 可以通过CtrlAltF[1-6]在6个虚拟控制台之间进行切换。 远程登录 。默认情况下openEuler支持远程登录&…...

Python基础语法条件

注释 注释的作用 通过用自己熟悉的语言,在程序中对某些代码进行标注说明,这就是注释的作用,能够大大增强程序的可读性。 注释的分类及语法 注释分为两类:单行注释 和 多行注释。 单行注释 只能注释一行内容,语法如下…...

006-MAVEN 的使用

MAVEN 的使用 一、依赖范围二、依赖的传递性三、依赖的原则四、依赖的排除 一、依赖范围 在引入log4j 依赖的时候,有一个scope设置,这个scope设置的值就是对应的依赖范围(因为compile 是默认的依赖范围,所以有时也可以省略)。 Maven 提供了…...

npm使用时报错:Could not retrieve https://npm.taobao.org/mirrors/node/index.json.

在使用npm时报错,报错信息如下: 报错的原因:是原来的淘宝镜像地址过期了 解决办法:修改镜像地址。打开nvm的安装地址 -->settings.txt文件 -->配置下载源 1、将settings.txt文件中的 node_mirror: https://npm.taobao.or…...

软考中级网络工程师——高级配置

文章目录 IS-ISBGP(边境网关协议)-IBGP-EBGP配置BFD(双向转发侦测)与Router-Static联动BFD与OSPF联动BFD与VRRP(虚拟路由器冗余协议)联动VRRP配置(基于网关备份)FW基础配置FW高级配置DHCP路由策略 IS-IS 第一步:每一个路由设置环回口地址 第二部:配置接…...

Leetcode 第 141 场双周赛题解

Leetcode 第 141 场双周赛题解 Leetcode 第 141 场双周赛题解题目1:3314. 构造最小位运算数组 I思路代码复杂度分析 题目2:3315. 构造最小位运算数组 II思路代码复杂度分析 题目3:3316. 从原字符串里进行删除操作的最多次数思路代码复杂度分析…...

Linux性能调优,还可以从这些方面入手

linux是目前最常用的操作系统,下面是一些常见的 Linux 系统调优技巧,在进行系统调优时,需要根据具体的系统负载和应用需求进行调整,并进行充分的测试和监控,以确保系统的稳定性和性能。同时,调优过程中要谨…...

STM32的独立看门狗定时器(IWDG)技术介绍

在嵌入式系统中,确保系统的稳定性和可靠性至关重要。看门狗定时器(Watchdog Timer, WDT) 是一种常用的硬件机制,用于监控系统的运行状态,防止系统因软件故障或意外情况进入不可预期的状态。STM32系列微控制器提供了两种…...

自动化生成工作流?英伟达提出ComfyGen:通过LLM来匹配给定的文本提示与合适的工作流程

ComfyGen的核心在于通过LLM来匹配给定的文本提示与合适的工作流程。该方法从500个来自用户的多样化提示生成图像,随后使用一系列美学预测模型对生成结果进行评分。这些评分与相应的工作流程形成了一个训练集,包含提示、工作流程及其得分的三元组。 然后…...

indicatorTree-v10练习(有问题)

目标:设计数据库表表格式,将“indicatorTree-v10.json”导入到数据库,再从数据库读取写为JSON文件。 其他要求:数据库要求为mysql数据库;编程语言暂时限定为C;JSON解析使用本文件夹中的cJSON.c和cJSON.h&am…...

python源码:指定麦克风/音响播放歌曲

前言 我使用pygame实现了指定麦克风/音响播放歌曲的功能,主要目的是解决直播过程的多源声道控制问题。 代码 # 查看自己的音频设备 # 请记住目标音频设备的具体名称 import pygame as mixer import pygame._sdl2 as sdl2mixer.init() # Initialize the mixer, thi…...

基于华为云智慧生活生态链设计的智能鱼缸

一. 引言 1.1 项目背景 随着智能家居技术的发展和人们对高品质生活的追求日益增长,智能鱼缸作为一种结合了科技与自然美的家居装饰品,正逐渐成为智能家居领域的新宠。本项目旨在设计一款基于华为云智慧生活生态链的智能鱼缸,它不仅能够提供…...

OJ-1015图像物体的边界

分析 思路 1.输入读取:读取网格的维度(M,N)和像素值到一个二维数组中。 2.迭代:遍历二维数组中的每个单元格。 3.边界检测:对于每个像素值为1的单元格,检查其八个相邻的单元格。如果任何相邻单元格的像素值为5,则增加边界计数。 4,边界计数调整:由于每…...

RAG 入门实践:从文档拆分到向量数据库与问答构建

本文将使用 Transformers 和 LangChain,选择在 Retrieval -> Chinese 中表现较好的编码模型进行演示,即 chuxin-llm/Chuxin-Embedding。 你还将了解 RecursiveCharacterTextSplitter 的递归工作原理。 一份值得关注的基准测试榜单:MTEB (M…...

445: 选择问题

解法: 第k大的数据查找 a, b map(int, input().split()) l list(map(int, input().split())) l.sort() print(l[b-1])...

IP地址类型选择指南:动态IP、静态IP还是数据中心IP?

你是否曾经困惑于如何选择最适合业务需求的IP地址类型?面对动态IP、静态IP和数据中心IP这三种选择,你是否了解它们各自对你的跨境在线业务可能产生的深远影响? 在跨境电商领域,选择合适的IP类型对于业务的成功至关重要。动态IP、…...

如何通过AI技术提升图表创作效率?Next AI Draw.io全攻略

如何通过AI技术提升图表创作效率?Next AI Draw.io全攻略 【免费下载链接】next-ai-draw-io 项目地址: https://gitcode.com/GitHub_Trending/ne/next-ai-draw-io 技术人员日常工作中常会遇到这样的困境:花几小时绘制的架构图需要频繁修改&#x…...

如何通过Qwen Code多语言功能提升开发效率

如何通过Qwen Code多语言功能提升开发效率 【免费下载链接】qwen-code Qwen Code is a coding agent that lives in the digital world. 项目地址: https://gitcode.com/GitHub_Trending/qw/qwen-code Qwen Code作为一款智能编程助手,其强大的多语言支持功能…...

OpenClaw+GLM-4.7-Flash智能书签:自动归档网页内容

OpenClawGLM-4.7-Flash智能书签:自动归档网页内容 1. 为什么需要智能书签管理 作为一个每天需要浏览大量技术文档和行业资讯的开发者,我发现自己陷入了"收藏即遗忘"的困境。Chrome书签栏里堆满了未分类的链接,Evernote里塞着杂乱…...

SoccerData:一站式足球数据抓取与分析工具实战指南

SoccerData:一站式足球数据抓取与分析工具实战指南 【免费下载链接】soccerdata ⛏⚽ Scrape soccer data from Club Elo, ESPN, FBref, FiveThirtyEight, Football-Data.co.uk, SoFIFA and WhoScored. 项目地址: https://gitcode.com/gh_mirrors/so/soccerdata …...

移动热源坐标参数

comsol激光熔覆仿真模型,热流耦合,包含马兰戈尼非等温模激光熔覆工艺仿真里有个特有意思的物理现象——熔池表面会出现类似水波纹的流动轨迹。这可不是普通的热胀冷缩,而是马兰戈尼效应在金属熔液里跳"物理芭蕾"。咱们今天就用COMS…...

PHP反序列化实战:手把手教你绕过CTF题中的字符检查与属性保护

PHP反序列化漏洞实战:从CTF解题到真实场景防御 在网络安全竞赛中,PHP反序列化漏洞一直是高频考点。这类漏洞不仅存在于CTF比赛中,也广泛存在于真实世界的Web应用中。本文将从一个典型CTF题目入手,深入剖析PHP反序列化的攻击手法与…...

还在为跨平台模组烦恼?这款工具让你一键获取Steam创意内容

还在为跨平台模组烦恼?这款工具让你一键获取Steam创意内容 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否也曾遇到这样的困境:在Epic Games Stor…...

OpenClaw深度沟通渠道-全景深度解构

OpenClaw深度沟通渠道-全景深度解构OpenClaw的渠道(Channels)是其“交互层”的核心,是用户意图与AI执行力的唯一交汇点。选择渠道,就是选择将AI能力注入您数字生活的哪个场景。以下分析将超越简单列表,深入每个渠道的技…...

欲望与自感:表征关系分析

欲望与自感:表征关系分析---一、问题意识:为何分析欲望与自感的关系?在AI元人文的建构过程中,“自感”作为意义行为的源初感发,已经与多个哲学概念进行了划界——自感不是冲动、不是主体性、不是概念、不是生命、不是存…...

ComfyUI-KJNodes:重构AI创作工作流的效率革命

ComfyUI-KJNodes:重构AI创作工作流的效率革命 【免费下载链接】ComfyUI-KJNodes Various custom nodes for ComfyUI 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-KJNodes 一、挑战引入:当AI创作遇上效率瓶颈 在AI图像创作领域&#xf…...