自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 收藏
  • 关注

原创 sqlserver变量动态控制日期范围

SELECTa.FBILLNO,a.FDATE ,

2025-12-09 14:00:39 146

原创 Prophet各个参数的取值范围和建议

在使用 Facebook 的 Prophet 模型时,以下是各个参数的取值范围和建议:

2025-03-27 15:02:16 1083

原创 html基础知识学习

// div[contains(@class,"_373TxnaS")]

2025-01-21 15:07:02 152

原创 亚马逊库存管理sql记录

ANDcountry='美国'platform='亚马逊'ANDcountry='美国'country='美国'platform='亚马逊'''"预计销售天数",''"需备货量",

2025-01-20 09:09:49 576

原创 python爬取亚马逊best-selling商品信息代码

rating_count = int(rating_text.split(",")[1].strip().split(" ")[0]) # 评分数量。rating_score = float(rating_text.split(" ")[0]) # 评分。print(f"ASIN: {asin} - 图片 URL 抓取失败: {e}") # 记录错误信息。print(f"成功连接到浏览器,当前URL: {driver.current_url}")print("没有找到下一页按钮或无法点击:", e)

2025-01-15 10:54:29 939

原创 字符串聚合方法

SELECT * FROM purchase_mapping WHERE platform = '亚马逊' AND country = '美国'

2025-01-09 11:35:16 329

原创 关于写入excel数据前就设置文本格式,防止出现科学计数法

names_companies.append(name_company[0] if name_company else "") # 过滤空值。postal_codes.append(postal_code[0] if postal_code else "") # 确保输出为空字符串。customer_name = row['客户名称'] if '客户名称' in row else "" # 假设客户名称在“客户名称”列中。cities.append(city[0][0]) # 只添加城市名称。

2024-12-31 18:34:32 1369

原创 excel文件合并,每个excel名称插入excel列

if filename.endswith('.xls') and '@' in filename: # 只处理以 .xlsx 结尾且包含 @ 的文件。product_name = filename.split('@')[1].split('.')[0] # @ 右边的内容(去掉文件扩展名)product_code = filename.split('@')[0] # @ 左边的内容。output_file = os.path.join(folder_path, 'BOM材料.xlsx')

2024-12-06 10:27:42 709

原创 python图片相似度测试

print(f"相似度得分: {similarity_score}")print(f"相似度得分: {similarity_score}")# 只保留最大的轮廓(假设产品主体是最大的轮廓)# 进行形态学操作去除小的噪声。# 使用阈值处理去除背景。# 使用掩膜提取产品主体。# 创建一个空白图像。

2024-12-02 09:36:21 356 1

原创 数据库python连接测试

") # 查询数据库版本。print(f"数据库版本: {db_version[0]}")"host": "", # 替换为您的数据库主机地址。"database": "", # 数据库名称。"user": "", # 数据库用户名。"password": "" # 数据库密码。"""测试与 PostgreSQL 数据库的连接"""print("成功连接到数据库!print(f"连接数据库失败: {e}")

2024-12-02 09:32:14 417

原创 爬虫Google浏览器调用,跳过验证和账号输入

print("Chrome调试环境设置成功,可以开始运行爬虫代码")print("设置失败,请检查Chrome安装路径或尝试手动启动")print(f"等待端口开启...({i+1}/5)")print(f"启动Chrome失败: {e}")print("正在检查Chrome调试环境...")print("调试端口已成功开启")print("Chrome已启动")"""启动调试模式的Chrome""""""关闭所有Chrome进程""""""设置Chrome调试环境""""""检查端口是否开启"""

2024-12-02 09:31:19 1132

原创 关于亚马逊网站商品爬取小记

"广告排名", "ASIN", "图片URL", "sign"])df = pd.DataFrame(data, columns=["关键词", "商品名称", "搜索时间", "总排名",批次ID: {batch_id}")print(f"'{keyword}' 的总结果数: {len(results)}")"host": "*********", # 替换为您的数据库主机地址。print(f"正在搜索 '{keyword}'...")"password": "*******" # 数据库密码。

2024-12-02 09:28:34 1266

原创 常用快捷键

Notepad++ 再加入sql插件后,对于sql格式化的快捷键是alt+shift+f。

2024-02-23 15:33:24 588

原创 常见sql问题备注

SELECT T2.列名,T1.列名 FROM 主表 T1, 匹配表 T2   WHERE T1.匹配列 LIKE CONCAT('%',concat(T2.匹配列,'%'));--执行后 sql create table ycrx_demp as select ''''''''''''''''''''''select * from 某表 limit 1;将查询结果选中然后按制表符,得到竖着的样例数据格式。--执行前 sql drop table ycrx_demp。

2023-05-08 18:01:16 1408

原创 Oracle 笔记

select ZDXMC 奖励等级,count(ZDXMC) 人数 from ODS_TEAC_RSC_RS_JZGJXKYHJXX a left join ODS_TEAC_RSC_RS_ZDXB b on a.JLDJ=b.bh where ZDXMC is not null group by ZDXMCselect floor((SYSDATE - to_date(birthday,‘yyyy-mm-dd’))/365) AS AGE from ODS_TEAC_SPZX_SP_RYXXselect

2022-06-27 18:37:23 477 2

原创 DML操作

select table_schema,table_name,column_name,column_type,column_comment from information_schema.columns where table_schema= ‘数据库库名’COMMENT ON TABLE STUDENT_INFO IS ‘学生信息表’;COMMENT ON COLUMN STUDENT_INFO.STU_ID IS ‘学号’; COMMENT ON COLUMN STUDENT_INFO.STU_NAME

2022-06-14 16:22:04 344

原创 SQL语句笔记

在left join语句中,左表过滤必须放where条件中,右表过滤必须放on条件中. 例题:你需要写一段 SQL 命令,筛选出过去一年中订单总量 少于10本 的 书籍 。 注意:不考虑 上架(available from)距今 不满一个月 的书籍。并且 假设今天是 2019-06-23 。 Books 表: ±--------±-------------------±---------------+ | book_id | name | available_from | ±--

2022-03-28 12:47:18 864

原创 Pandas的一些细节笔记

修改镜像源命令: pip3 config set global.index-url https://pypi.douban.com/simple 启动英文界面的jupyter notebook: LANGUAGE="" LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 jupyter notebook import matplotlib.pyplot as plt import seaborn as sns plt.rcParams[‘font.sans-serif’] = ‘Song

2022-03-03 17:24:40 663

原创 mysql存储和自定义函数

select col_name, case when char_length(col_intro)>20 then concat(left(col_intro,20),'.....') else col_intro end from tb_college; drop function if exists truncate_string; delimiter $ create function truncate_string( content varchar(12000), max_length i

2022-02-17 09:43:31 316

转载 scrapy程序学习

douban.py scrapy genspider douban movie.douban.com scrapy genspider taobao www.taobao.com import scrapy from scrapy import Selector, Request from scrapy.http import HtmlResponse from spider2107.items import MovieItem class DoubanSpider(scrapy.Spider):

2022-02-16 11:31:40 149

原创 Mysql学习第五天

create table `tb_result` ( `rq` date not null, `sf` char(1) not null ) engine=innodb; insert into `tb_result` values ('2017-04-09','胜'), ('2017-04-09','胜'), ('2017-04-09','负'), ('2017-04-09','负'), ('2017-04-10','胜'), ('2017-04

2022-02-11 20:15:35 661

原创 数据库持久化

from threading import Thread import requests from bs4 import BeautifulSoup from re import sub import pymysql def get_html(start): url = f'https://movie.douban.com/top250?start={start}&filter=' headers = { 'user-agent': 'Mozilla/5.0 (M

2022-02-11 20:09:26 249

原创 Mysql学习第四天

import pymysql no = int(input('部门编号:')) name = input('部门名称:') location = input('所在地:') # 1.创建连接对象 conn = pymysql.connect(host='10.7.190.82', port=3306, user='wangdachui', password='123123', database='hrs', cha

2022-02-10 17:27:38 1157

原创 Mysql学习第三天

– 如果存在就删除名为hrs的数据库 drop database if exists hrs; – 创建名为hrs的数据库并指定默认的字符集 create database hrs default charset utf8mb4; – 切换到hrs数据库 use hrs; – 创建部门表 create table tb_dept ( dno int not null comment ‘编号’, dname varchar(10) not null comment ‘名称’, dloc varchar(20)

2022-02-10 14:48:54 650

原创 Mysql学习第二天

– 如果存在名为school的数据库就删除它 drop database if exists school; – 创建名为school的数据库并设置默认的字符集和排序方式 create database school default character set utf8mb4; – 切换到school数据库上下文环境 use school; – 创建学院表 create table tb_college ( col_id int unsigned auto_increment comment ‘编号’, c

2022-02-08 19:17:04 413

原创 Mysql学习第一天

数据库 —> 解决数据持久化问题 —> 不仅仅能够保存数据,更重要的是对数据的管理 按照一定的结构组织和存储数据 通过自定义的条件获取想要的数据 不同的用户可以获取到不同的数据 关系型数据库 —> 非关系型数据库 1972 ---> Codd ~ 1. 理论基础:关系代数 ---> 谓词逻辑/集合论 ~ 2. 具体表象:用二维表(行和列)组织和保存数据 行 ---> 记录(元组)tuple 列 ---> 字段(属性)at.

2022-02-07 19:05:25 554

原创 第八天 线程池和进程池

from queue import Queue as T_Queue # 线程队列 from multiprocessing import Process, Queue as P_Queue # 进程队列 1. 线程间通信 同一个进程中的多个线程,数据可以直接共享 数据收集:定义全局容器,常用的容器 - 线程队列 (定义全局队列直接使用) 添加数据: 队列.put(数据) 获取数据: 队列.get() 、 队列.get(timeout=时间) 2. 进程间通信 只能通过进程队列来进行数据交流

2022-01-19 21:15:27 386

原创 第七天 线程安全和队列

1. 进程和线程 进程:一个正则运行的应用程序就是一个进程;每一个进程会运行在其专用且受保护的内存空间中。 线程:线程是执行任务的基本单位 每一个进程至少要有一个线程(默认只有一个) 单线程串行:如果要在一个线程中执行多个任务,任务是按顺序一个一个的执行 进程 - 车间; 线程 - 工人 2. 多线程 多线程:在一个进程中创建多个线程;执行在多个线程中的任务,可以并发(同时)执行 多线程原理:利用cpu空闲时间干活 使用多线程方法一:直接创建Thread类的对象 线程对象 = Thread(target=

2022-01-18 21:04:35 296

原创 第六天 多线程和多进程

爬虫复习 第一步:获取网页数据 流程:确定目标网站 -> 确定技术(直接requests发送(加user-agent、加cookie)、找数据接口、使用selenium) 反爬:浏览器身份验证反爬(加user-agent)、登录反爬(requests的headers中添加cookie、selenium加cookie)、封IP反爬 第二步:解析数据 正则 bs4(基于css选择器的解析器) lxml(基于xpath的解析器) 第三步:保存数据 csv、excel 1.多线程 1)主线程 一个进程默认

2022-01-17 21:22:38 516

原创 第五天 xml和xpath的用法

复习 # 1. 字体反爬 # 字体文件格式: woff、woff2 # 在线预览:https://kekee000.github.io/fonteditor/ # int('4e00', base=16) # 2. 登录反爬 # 1)requests登录反爬: headers中添加'cookie'对应的键值 # 2)selenium登录反爬: # a.获取cookie值保存到本地: b.get_cookies() # b.使用cookie: 打开网页 -> 添加cookie -> 重新打开

2022-01-15 15:45:21 339

原创 第四天 常见反爬

登录反爬操作 from selenium.webdriver import Chrome, ChromeOptions from selenium.webdriver.common.keys import Keys # 1. 控制浏览器进入登录页面 options = ChromeOptions() options.add_experimental_option('excludeSwitches', ['enable-automation']) b = Chrome(options=options) b.

2022-01-13 21:20:41 532

原创 第三天 selenium的使用

from selenium.webdriver import Chrome from bs4 import BeautifulSoup # 1. 创建浏览器对象 b = Chrome() # 2. 在浏览器中输入网址 b.get('https://movie.douban.com/top250') # 3. 获取网页内容(当前浏览器显示的是哪个页面,获取就是那个页面的内容) # print(b.page_source) soup = BeautifulSoup(b.page_source, 'lxml'

2022-01-12 21:22:26 282

原创 第二天 详情页和json接口

# 2.requests # 请求、get/post、响应 headers = { 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36' } response = requests.get('https://book.douban.com/', headers=headers)

2022-01-11 21:47:14 310

原创 第一天 学习requests

爬虫:用程序去获取网页上的数据 爬虫过程:1) 获取网页数据(requests、selenium)、 2)解析数据(正则表达式-re、css选择器-bs4、xpath-lxml) 3) 保存数据(数据库、csv文件、excel文件) 反反爬:user-agent(身份伪装,将爬虫程序伪装成浏览器)、登录反爬(设置cookie)、字体反爬 1. 获取网页数据 requests.get(网页地址) - 获取网页数据,返回一个响应对象 参数headers: 请求头,需要一个字典,这个字典有两个常见的键值对

2022-01-10 17:41:14 537

原创 第二十三天 邮件自动发送和HTML

1.准备工作 准备邮箱账号和密码(密码有的时候不一定是邮箱密码,有可能是邮箱授权码) 账号:1111111111@qq.com 密码(授权码):pertpppqffcvbggjg 2.登录邮箱 1)连接邮箱服务器 con = smtplib.SMTP_SSL(‘smtp.qq.com’, 465) 2)登录邮箱 con.login(‘1111111111@qq.com’, ‘pertpppqffcvbggjg’) 3.创建邮件 from email.mime.multipart import MIMEMul

2021-12-29 20:23:36 269

原创 第二十二天 Word文件操作

# 注意:使用docx之前需要先安装第三方库:python-docx from docx import Document # 导入数值计量单位:Inches- 英尺、Cm - 厘米、Pt - 像素 from docx.shared import Inches, Cm, Pt 1. 创建空文档 doc = Document() 2. 添加内容 1)文档对象.add_heading(text=’’, level=1) - 添加指定级别的标题,并且返回标题对象 # text - 标题内容 # level -

2021-12-28 20:11:58 738

原创 第二十一天 CSV和PDF文件操作

import csv 1. 创建reader 1) csv.reader(文件对象) - 获取指定csv文件中的内容,返回一些迭代器,迭代器中的元素是每一行数据对应一个列表 2) csv.DictReader(文件对象) - 获取指定csv文件中的内容,返回一些迭代器,迭代器中的元素是每一行数据对应一个字典 reader1 = csv.reader(open('files/北京高档酒店价格分析.csv')) reader2 = csv.DictReader(open('files/北京高档酒店价格

2021-12-27 21:21:36 313

原创 第二十天 自动化办公

1. 匹配类符号 普通符号 - 字符中在正则里面表示字符本身的符号、\n、\t、\u4e00 . - 匹配任意一个字符(多行匹配 - 不能和\n匹配;单行匹配(?s) - 可以和\n匹配) \d、\D、\s、\S、\w、\W [字符集]、[^字符集] 2. 控制次数 *、+、?、{N}、{M,N}、{M,}、{,N} *、+、?、{M,N}、{M,}、{,N} - 贪婪 *?、+?、??、{M,N}?、{M,}?、{,N}? - 非贪婪 3. 分组和分支 分组 - () 分支 - | 4.转

2021-12-25 18:04:55 539

原创 第十九天 正则表达式

继承:让子类直接拥有父类所有的属性和方法 “”" class 类名(父类1, 父类2,…): pass “”" class A: a = 10 def __init__(self): self.b = 20 self.c = 30 def func1(self): print('对象方法') @classmethod def func2(cls): print('类方法') @static

2021-12-23 21:38:05 445

原创 第十八天 类和对象

class 类名: 类的说明文档 类的内容(对象方法、类方法、静态方法 + 对象属性、类属性) 1. 对象方法 方法指的就是定义在类中的函数。 1)怎么定义: 直接定义(不需要添加任何装饰器)在类中函数就是对象方法 2)怎么调用: 通过 '对象.xx()'的形式来调用 3)特点: 每个对象方法都有一个默认参数self,在通过对象调用对象方法的时候self不需要传参, 系统会自动将当前对象传给self(self谁调用就指向谁) # 定义类 class Person: # 在类中定义一个对象方法

2021-12-22 21:50:17 157

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除