随笔分类 -  python

记录有关python的小贴士
摘要:// 用于存储已点击的节点 var clickedNodes = {}; viz.registerOnEvent('clickNode', (e) => { let nodeId = e.node.id; if (!clickedNodes[nodeId]){ // 不加判断的话会执行多次 wind 阅读全文
posted @ 2024-05-08 15:16 kakaok 阅读(34) 评论(0) 推荐(0)
摘要:之前在Selenium里执行js方法很简单,现在切换到playwright上,发现原来执行js的方式不起作用了,在MSEDGE里执行 Selenium里执行JS driver.execute_script('''function st() { var height = document.body.c 阅读全文
posted @ 2022-08-25 16:40 kakaok 阅读(956) 评论(0) 推荐(0)
摘要:昨天下午发现在入数据的时候总是报这个异常,日志里一大堆,很明显是长度超了,但是查看了DDL,text类型 后来通过直接把数据存入mysql,发现没什么问题,那问题出在哪里呢? 再次查看代码,因为存储的是html源码,后面通过html.escape(html_src) 这样已编码,长度就会增加, 在此 阅读全文
posted @ 2022-04-07 10:30 kakaok 阅读(98) 评论(0) 推荐(0)
摘要:火车头的官方现在已支持python写插件,最开始按照官方文档安装了一个python3.8.8,调用插件总是报错,后面咨询客服说是版本太高,后面删除后python重新安装了一个python3.6,重新测试发现完美解决 贴一个写好的插件 # -*- coding: utf-8 -*- # @Author 阅读全文
posted @ 2022-03-17 11:16 kakaok 阅读(834) 评论(0) 推荐(0)
摘要:今天帮同事解析网页数据,分析源码后发现,网页展示的数据在页面定义的js变量里 这个变量里保存着上百条数据,整个对象也很大,最开始想着用python直接转成dict对象,返现怎么处理都报错,格式有问题,用了json.loads和simplejson.loads都不能解决,实在没招了,突然想到了node 阅读全文
posted @ 2022-03-16 19:17 kakaok 阅读(596) 评论(0) 推荐(0)
摘要:python里替换经常用replace函数,最近发现在清洗数据的时候用到replace有一些问题,后来发现是自己使用不当 比如 "a and a materials" 要把 'a' 'and' 清洗掉,用replace处理后变成"nd mterils" sp_list = string_input. 阅读全文
posted @ 2022-03-08 11:00 kakaok 阅读(92) 评论(0) 推荐(0)
摘要:最近需要清洗一批数据,涉及到好几个流程,以前的方式是所有数据处理完一步后再进行下一步,这种方式也能很好的完成需求。 最近发现了一个python的PipeLine库 fastcore 里面有个pipeline模块,正好满足我的需求 from fastcore.transform import Pipe 阅读全文
posted @ 2022-03-08 10:54 kakaok 阅读(545) 评论(0) 推荐(0)
摘要:之前一直在寻找比较内容差异的库,原来python标准库里自带有difflib库 这就比较有意思了,对于数据采集来说比较两次请求参数的变化就很有用了,可以知道哪些是变化的,方便定位比较 import difflib def diff_headers(): text1 ='''Accept: text/ 阅读全文
posted @ 2022-02-17 14:55 kakaok 阅读(272) 评论(0) 推荐(0)
摘要:def regex_filter(): html_str = '''<div class="cont-cont"> <p></p><table cellspacing="0" cellpadding="0" width="90%" style="border:1px solid #000000; t 阅读全文
posted @ 2022-02-14 17:02 kakaok 阅读(172) 评论(0) 推荐(0)
摘要:html = """<div class="w-number this is class"> <span class="tpte">this is class 14℃</span> </div>""" 如上源码,在class中包含 this is class 而在span的正文里也有this is 阅读全文
posted @ 2022-01-05 10:14 kakaok 阅读(142) 评论(0) 推荐(0)
摘要:只想保留table的"colspan", "rowspan" 两个属性值,其余的属性都去掉 最开始想到的是正则匹配,发现太费劲 后面发现BeautifulSoup可以解决 # bs4 去除特定属性 def remove_css_tags(): html_str = '''<table cellspa 阅读全文
posted @ 2021-11-01 17:05 kakaok 阅读(780) 评论(0) 推荐(0)
摘要:一个CAS编号以连字符“-”分为三部分,第一部分有2到7位数字,第二部分有2位数字,第三部分有1位数字作为校验码。 CAS编号以升序排列且没有任何内在含义。校验码的计算方法如下:CAS顺序号(第一、二部分数字)的最后一位乘以1,最后第二位乘以2,往前依此类推,然后再把所有的乘积相加,再把和除以10, 阅读全文
posted @ 2021-10-29 10:16 kakaok 阅读(524) 评论(0) 推荐(0)
摘要:import re from w3lib import html def parse_tags(): # 去除样式 # link_re = re.compile(r'<a.*?>') p_re = re.compile(r'<p.*?>') # span_re = re.compile(r'<spa 阅读全文
posted @ 2021-10-14 17:42 kakaok 阅读(538) 评论(0) 推荐(0)
摘要:# -*- coding: utf-8 -*- import pandas as pd IO = "ABC.xlsx" df = pd.DataFrame(pd.read_excel(io=IO, sheet_name="翻译列表")) for index, row in df.iterrows() 阅读全文
posted @ 2021-09-06 16:27 kakaok 阅读(2944) 评论(0) 推荐(0)
摘要:import re def parse(): # 匹配所有的a标签 link_re = re.compile(r'<a.*?>') p_re = re.compile(r'<p.*?>') span_re = re.compile(r'<span.*?>') font_re = re.compile 阅读全文
posted @ 2021-06-16 15:21 kakaok 阅读(521) 评论(0) 推荐(0)
摘要:导入xlsxwriter 库 data = pd.DataFrame.from_records(results) data.to_excel(writer, sheet_name=sheet_title, columns=columns, engine='xlsxwriter', index=Fal 阅读全文
posted @ 2021-02-05 14:15 kakaok 阅读(1305) 评论(0) 推荐(0)
摘要:从pubchem下载的sdf文件是一个压缩格式,一个sdf里面有多个化学物质,需要拆分开单独保存, 先将大的sdf拆分成一个个单独的sdf小文件,然后再读取每一行小文件的第一行获取CID编号 # coding=utf-8 def splitSDF(): file_name = "48600001_4 阅读全文
posted @ 2020-12-14 11:33 kakaok 阅读(2353) 评论(4) 推荐(0)
摘要:1 mport zlib 2 import pymongo 3 4 def compress_html(infile,dst,level=9): 5 '''[summary] 6 7 [压缩文件] 8 Arguments: 9 infile {[string]} -- [输入文件路径] 10 dst 阅读全文
posted @ 2020-10-21 09:43 kakaok 阅读(288) 评论(0) 推荐(0)
摘要:大家在做爬虫采集数据的时候很多都会遇到增量采集的问题,有些时候是通过过滤url来进行的,有些是通过爬取网页后再进行分析判断, 以上这些过程也许大部分做爬虫的都会这么做,各位有没有想过, 除了以上的常用的方式还有没有其他的能够可以一次性批量获取先要的url连接地址呢? 自己做爬虫也有很多年了,前不久听 阅读全文
posted @ 2019-12-02 11:17 kakaok 阅读(981) 评论(0) 推荐(0)
摘要:在python 连接mysql时,最近一直出现了 在execute的时候进行参数传递,可以正常入库了 以前都是将参数与sql处理好一起传入excute,没怎么用过在execute中传递参数,特意看了下execute的定义,args的类型可以是tuple,list,dict中的任何一种,如果参数类型不 阅读全文
posted @ 2019-11-20 11:15 kakaok 阅读(19799) 评论(0) 推荐(0)