首页
畅所欲言
友情链接
壁纸大全
数据统计
推荐
工具箱
在线白板
Search
1
职教云小助手重构更新,职教云助手最新版下载地址【已和谐】
13,374 阅读
2
职教云-智慧职教,网课观看分析(秒刷网课)
10,986 阅读
3
gradle-5.4.1-all.zip下载
8,877 阅读
4
职教云-智慧职教,签到补签分析(逆天改命系列)
7,835 阅读
5
一个优秀的程序员从写文档开始:免费领14个月语雀云笔记会员
6,874 阅读
学习笔记
Web
Python
转载文章
算法刷题
JS逆向
综合笔记
安卓
物联网
Java
C
资源收集
软件收藏
网络资源
影视专辑
TED英语角
随便写写
随手拍
登录
/
注册
Search
Lan
累计撰写
624
篇文章
累计收到
617
条评论
首页
栏目
学习笔记
Web
Python
转载文章
算法刷题
JS逆向
综合笔记
安卓
物联网
Java
C
资源收集
软件收藏
网络资源
影视专辑
TED英语角
随便写写
随手拍
页面
畅所欲言
友情链接
壁纸大全
数据统计
推荐
工具箱
在线白板
搜索到
624
篇与
的结果
2020-03-04
java中Integer运算保留2位小数
1.整数型运算时,结果会自动去除小数点后面的部分,如果需要适当的保留几位小数,需要转为fload类型,分子或者分母或者都转如:计算5除以6,保留2位小数 BigDecimal b = new BigDecimal((float)5/6);四舍五入保留2位 Double result = b.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();如需保留3位 Double result = b.setScale(3,BigDecimal.ROUND_HALF_UP).doubleValue();2.第二种方法DecimalFormat df = new DecimalFormat("0.00"); Double result = df.format((float)5/6);如需保留3位 DecimalFormat df = new DecimalFormat("0.000"); Double result = df.format((float)5/6);3.第三种String percent = new BigDecimal((double)num*100/sum).setScale(2,BigDecimal.ROUND_HALF_UP)+"%";4.第四种:计算百分比 /** * a / b 计算百分比 * @param a * @param b * @return eg:65.32% */ public static String ADivideBPercent(BigDecimal a,BigDecimal b){ String percent = b == null ? "-" : b.compareTo(new BigDecimal(0)) == 0 ? "-": a == null ? "0.00%" : a.multiply(new BigDecimal(100)).divide(b,2,BigDecimal.ROUND_HALF_UP) + "%"; return percent; }
2020年03月04日
736 阅读
0 评论
0 点赞
2020-03-03
Java中关于进制
在Java中关于二进制、八进制、十六进制的辨析八进制数中不可能出7以上的阿拉伯数字。但如果这个数是123、是567,或12345670,那么它是八进制数还是10进制数?单从数字的角度来讲都有可能!八进制所以在Java中规定,一个数如果要指明它采用八进制,必须在它前面加上一个0,如:123是十进制,但0123则表示采用八进制。这就是八进制数的表达方法。123如果是十进制的话是123,八进制的话,则是83,如在变量赋值时可以以十进制的方式赋值int a = 83; 也可以以八进制的方式赋值,int a= 0123;得到的是同样的结果。十六进制如果不使用特殊的书写形式,16进制数也会和10进制相混。随便一个数:9876,就看不出它是16进制或10进制。16进制数必须以 0x开头。比如 0x1表示一个16进制数。而1则表示一个十进制。另外如:0xff,0xFF,0X102A,等等。其中的x也也不区分大小写。(注意:0x中的0是数字0,而不是字母O)如int b = 1;int b=0x1;是同样的含义,int b = 17;与int b = 0x11;表达的是同样的值。不区分正负10进制数有正负之分,比如12表示正12,而-12表示负 12。但8进制和16进制只能用达无符号的正整数,如果你在代码中里:-078,或者写:-0xF2,编译器并不把它当成一个负数。10进制转化其他进制对应的方法,参数:n(原10进制数据),r(进制),返回值10进制转2进制Integer.toBinaryString(n);一个二进制字符串.10进制转8进制Integer.toOctalString(n);一个八进制字符串10进制转16进制Integer.toHexString(n);一个16进制字符串10进制转 r 进制Integer.toString(100, 16);一个r进制字符串
2020年03月03日
605 阅读
0 评论
0 点赞
2020-03-01
利用urljoin快速将url补全
如采集的url只有后一半如./target/000001.html./target/000002.html./target/000003.html./target/000004.htmlfrom urllib import parse houzhui = './target/000004.html' url = 'http://pycs.greedyai.com/' url = parse.urljoin(url,houzhui)
2020年03月01日
821 阅读
0 评论
0 点赞
2020-03-01
request请求头快速加引号
import re headers_str = ''' origin: https://sou.zhaopin.com referer: https://sou.zhaopin.com/?p=3&jl=765&kw=python&kt=3 sec-fetch-dest: empty sec-fetch-mode: cors sec-fetch-site: same-site user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36 ''' pattern = '^(.*?): (.*)$' for line in headers_str.splitlines(): print(re.sub(pattern, ''\1': '\2',', line))
2020年03月01日
659 阅读
0 评论
0 点赞
2020-03-01
Scrapy笔记
快捷启动.pyfrom scrapy.cmdline import execute execute(['scrapy', 'crawl', 'ZhiLianZhaoPin'])创建Scrapy爬虫项目调出 CMD,输入如下代码并按【Enter】键,创建 Scrapy 爬虫项目:scrapy startproject stockstar其中 scrapy startproject 是固定命令,stockstar 是工程名字。settings.py中关闭遵循robotROBOTSTXT_OBEY=False创建Scrapy爬虫scrapy genspider stock quote.stockstar.com 名称 允许爬取域名
2020年03月01日
468 阅读
0 评论
0 点赞
2020-03-01
pycharm快捷键
常用快捷键1、Ctrl + Enter:在下方新建行但不移动光标;2、Shift + Enter:在下方新建行并移到新行行首;3、Ctrl + /:注释(取消注释)选择的行;4、Ctrl + Alt + L:格式化代码(与QQ锁定热键冲突,关闭QQ的热键);5、Ctrl + Shift + +:展开所有的代码块;6、Ctrl + Shift + -:收缩所有的代码块;7、Ctrl + Alt + I:自动缩进行;8、Alt + Enter:优化代码,提示信息实现自动导包;9、Ctrl + Shift + F:高级查找;10、Alt + Shift + Q:更新代码到远程服务器; 11、Ctrl + N 查找所有的类的名称12、Ctrl + Shift + N 查找项目中的任何文件使用TIPS1.1:PyCharm可以在一个窗口中使用多个项目。要在已打开的窗口中打开项目,请在“文件”菜单上选择“打开”,然后在“打开项目”对话框中选择“在当前窗口中打开”选项,然后选中“添加到当前打开的项目”复选框。步骤:File-->open-->选择要打开的项目-->按图片选择3.2:快速打开编辑器中的任何类,Ctrl + N、Ctrl + Shift + N请按Ctrl + N(Navigate | Class)并开始输入类的名称。 从显示的下拉列表中选择类。您可以使用Ctrl + Shift + N(导航|文件)以类似的方式打开项目中的任何文件3.3 代码完成功能可以让您快速完成代码中的各种语句。例如,开始输入一个类名,然后按Ctrl +空格来完成它。 当有多个选项可用时,它们将显示在查找列表中。3.4:通过按Ctrl +空格两次来调用代码完成特性的一个特殊变体,可以让您完成任何类的名称,而不管它是否被导入到当前文件中。 如果类尚未导入,则会自动生成导入语句。3.5:您可以快速找到所有在整个项目中使用特定类,方法或变量的地方,方法是将脱字符按照符号名称或代码中的用法进行定位,然后按Alt + F7(在弹出式菜单中查找用法)。3.6:要快速查看插入符号处的文档,请按Ctrl + Q(查看|快速文档)。3.7:要导航到代码中某处使用的类,方法或变量的声明,请将插入符定位到使用位置,然后按Ctrl + B。 您也可以点击鼠标的用法按下Ctrl键跳到声明。3.8:您可以使用Ctrl + F12(导航|文件结构)在当前编辑的文件中快速导航。它显示了当前班级的成员名单。 选择要导航到的元素,然后按Enter键或F4键。要轻松找到列表中的项目,只需输入名称即可。3.9:您可以轻松地重命名您的本地变量,并自动更正所有使用它们的地方。要尝试它,将插入符号放在要重命名的变量中,然后按Shift + F6(Refactor | Rename)。 在出现的弹出窗口中输入新名称,或选择一个建议名称,然后按Enter键。3.10:使用代码完成时,您可以使用Tab键在弹出列表中接受当前突出显示的选择。与使用Enter键接受不同,选定的名称将覆盖脱字符右侧的其余名称。 这对于用另一个替换一个方法或变量名是特别有用的。3.11:您是否知道,您可以在PyCharm的编辑器和工具窗口中关闭选项卡,而无需使用上下文菜单命令? 用鼠标指向要关闭的选项卡,然后单击鼠标中键或使用Shift +单击组合就足够了。3.12:要在任何视图(项目视图,结构视图或其他)中快速选择当前编辑的元素(类,文件,方法或字段),请按Alt + F1。3.13:速度搜索在所有树视图中都可用:只需开始输入,然后快速找到必要的项目。3.14:任何工具窗口中的Esc键将焦点移动到编辑器。Shift + Esc将焦点移动到编辑器,并隐藏当前(或最后一个活动)工具窗口。F12键将焦点从编辑器移到最后一个聚焦的工具窗口。3.15:编辑器中的Ctrl + W(扩展选择)选择插入符号处的单词,然后选择源代码的扩展区域。 例如,可以选择一个方法名称,然后是调用这个方法的表达式,然后是整个语句,然后是包含的块等。还可以选择插入的字和源代码的扩展区域, 点击编辑器中的目标区域。3.16:Extract Variable重构可以帮助您简化代码中的复杂语句。 例如,在下面的代码片段中,可以在代码中选择一个表达式,然后按Ctrl + Alt + V(Refactor | Extract | Variable)。3.17:编辑器中的Ctrl + D复制所选块或当前行,而不选择块。3.18:代码| 移动语句向上/向下操作对于重新组织文件中的代码行非常有用,例如,使变量声明更接近变量用法。例如,选择一个代码片段,然后按Ctrl + Shift +向上箭头或Ctrl + Shift +向下箭头。3.19:Ctrl + Shift + J快捷键将两行合并为一行,并删除不必要的空格以符合您的代码样式。3.20:如果光标位于方法调用的括号之间,按下Ctrl + P将弹出一个有效参数列表。3.21:Ctrl + Shift + Backspace(导航|上一个编辑位置)将您带回到您在代码中进行更改的最后一个地方。按Ctrl + Shift + Backspace几次,可以更深入地了解您的更改历史记录。3.22:使用Ctrl + Shift + F7(Edit | Find |突出显示文件中的用法)快速突出显示当前文件中某些变量的用法。使用F3和Shift + F3键浏览突出显示的用法。按Esc删除突出显示。3.23:要查看您的本地文件更改历史记录,请调用本地历史记录| 显示上下文菜单中的历史记录( Local History | Show History)。 您可以浏览不同的文件版本,查看差异并回滚到任何以前的版本。使用相同的上下文菜单项查看目录上的更改历史记录。 你永远不会失去这个功能的任何代码!3.24:Ctrl + E(查看|最近的文件)带来最近访问的文件的弹出列表。 选择所需的文件,然后按Enter打开它。3.25:要在编辑器中的方法之间显示分隔线,请打开编辑器设置,然后选中“外观”页面中的“显示方法分隔符”复选框。3.26:当使用基本代码完成(Ctrl +空格)时,输入标识符中任何地方存在的任何字符。--提示符3.27:使用Alt +向上箭头和Alt +向下箭头键在编辑器中快速移动方法。3.28:使用Ctrl + Shift + V快捷键选择并将最近的剪贴板内容插入到文本中。3.29:您可以通过按Ctrl + O(代码|覆盖方法)轻松地覆盖基类的方法。3.30:为了帮助您了解主菜单中每个项目的用途,将鼠标指针放在该项目上时,其简短说明会显示在应用程序框架底部的状态栏中。3.31:要快速打开编辑器中的任何特定方法或字段,请按Ctrl + Alt + Shift + N(导航|符号)并开始输入其名称。从显示的下拉列表中选择符号。3.32:使用Alt + Shift + C快速查看您最近对项目的更改。3.33:您可以通过拖动鼠标指针轻松进行列选择,同时保持按下Alt键。 alt键同时选择多行3.34:要快速查找菜单命令或工具栏操作,您不需要浏览菜单。 只需按Ctrl + Shift + A(在主菜单上的帮助|查找操作)并开始输入操作的名称。 从建议列表中选择所需的操作。————————————————版权声明:本文为CSDN博主「不二周同学」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/weixin_37292229/article/details/81737194
2020年03月01日
682 阅读
0 评论
0 点赞
2020-02-26
python爬虫之selenium记录
Chrome浏览器驱动下载地址:http://npm.taobao.org/mirrors/chromedriver/基础代码:browser = webdriver.Firefox() //选择浏览器 browser.find_element_by_id().send_keys() //寻找控件通过ID,且发送值selenium browser.find_element_by_id().click() //搜索的按钮的id 叫su ,且点击 browser.quit() //退出并关闭窗口的每一个相关的驱动程序 browser.close() //关闭窗口 browser.implicitly_wait(10) //隐式等待无窗口模式:#selenium:3.12.0 #webdriver:2.38 #chrome.exe: 65.0.3325.181(正式版本) (32 位) from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options = Options() chrome_options.add_argument('--no-sandbox')#解决DevToolsActivePort文件不存在的报错 chrome_options.add_argument('window-size=1920x3000') #指定浏览器分辨率 chrome_options.add_argument('--disable-gpu') #谷歌文档提到需要加上这个属性来规避bug chrome_options.add_argument('--hide-scrollbars') #隐藏滚动条, 应对一些特殊页面 chrome_options.add_argument('blink-settings=imagesEnabled=false') #不加载图片, 提升速度 chrome_options.add_argument('--headless') #浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败 chrome_options.binary_location = r"C:Program Files (x86)GoogleChromeApplicationchrome.exe" #手动指定使用的浏览器位置 driver=webdriver.Chrome(chrome_options=chrome_options) driver.get('https://www.baidu.com') print('hao123' in driver.page_source) driver.close() #切记关闭浏览器,回收资源键盘操作:selenium.webdriver.common.keys Keys browser = webdriver.Chrome() browser.get() browser.find_element_by_id().send_keys() browser.find_element_by_id().send_keys(Keys.SPACE) browser.find_element_by_id().send_keys(Keys.CONTROL) browser.find_element_by_id().send_keys(Keys.CONTROL) browser.find_element_by_id().send_keys(Keys.CONTROL) browser.find_element_by_id().send_keys(Keys.ENTER)鼠标操作:selenium.webdriver ActionChains driver = webdriver.Chrome() driver.get() driver.find_element_by_id().send_keys() driver.find_element_by_id().click() element = driver.find_element_by_name() ActionChains(driver).move_to_element(element).perform() driver.find_element_by_link_text().click()截屏定位location = img.location (location) size = img.size left = location[] = location[] = left + size[]保存cookie,以及调用cookie保存cookies cookies = driver.get_cookies()with open("cookies.txt", "w") as fp: json.dump(cookies, fp) selenium读取cookies def read_cookies(): # 设置cookies前必须访问一次百度的页面 driver.get("http://www.baidu.com") with open("cookies.txt", "r") as fp: cookies = json.load(fp) for cookie in cookies: # cookie.pop('domain') # 如果报domain无效的错误 driver.add_cookie(cookie) cookies_dict = dict() with open('cookies.txt','r')as f: cookies = json.load(f) for cookie in cookies: cookies_dict[cookie['name']] = cookie['value']
2020年02月26日
631 阅读
0 评论
0 点赞
1
...
87
88
89
90