Python学习备份

2023年1月19日15:25:16
1.
vsIDE编程python
python路径:C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_86
python_pip路径(可添加到环境变量):C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_86\Scripts
第三方库路径:C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_86\Lib\site-packages

1.下载谷歌浏览器:Chroma:\version->查看版本
2.下载谷歌驱动:chromedriver.storage.googleapis.com/index.html->根据版本下载驱动
3.将驱动复制到pip路径

error1:name ‘by’ is not define->from selenium.webdriver.common.by import By
error2:handshake failed; returned -1, SSL error code 1, net_error -101->

s = Service(executable_path=‘C:\Program Files\Google\Chrome\Application\chromedriver.exe’)
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument(‘–ignore-certificate-errors’) # 忽略证书错误
driver = webdriver.Chrome(service=s, options=chrome_options)

#这个语句是自动找到对应版本的驱动
browser = webdriver.Chrome(ChromeDriverManager().install())

5.自动关闭:
可以通过设置选项来取消

2023年1月20日10:39:42
1.
F12查看网页源码->在console里输入 x ( " / / i n p u t [ @ i d = ′ k w ′ ] " ) − > 查找 c s s 元素 − > x("//input[@id='kw']") ->查找css元素-> x("//input[@id=kw]")>查找css元素>(“CSS选择器”)

F12查看网页源码后,再点左上角的箭头

XPATH用AND 或者 OR来联合
$x(“//a[@class=‘navitems-lk’ and @class=‘navitems-lk’]”)

HTML的input标签上明确设置了6个属性,分别为id、name、class、value、maxlength、autocomplete。

元素级等待机制的最佳实践方式是显式等待,它是一种相当完美的等待机制。
from selenium.webdriver.support.wait import WebDriverWait

2023年1月26日09:38:59
1.
写csv,编码要用gbk写中文:
csvHeaders = [“序号”, “名称”, “价格”]
with open(“D:\TestBooks.csv”, “w”, newline=“”, encoding=“gbk”) as f:
f_csv = csv.writer(f)
f_csv.writerow(csvHeaders)

嵌入的页面
driver.switch_to_frame(“f2”)
br.switch_to.default_content()

3.等待延时:
①driver.set_page_load_timeout(5) #全局设置,在整个实例的声明周期
②driver.implicitly_wait(5) #全局设置,隐式等待,findelement在规定时间内找元素

③from selenium.webdriver.support.wait import WebDriverWait
WebDriverWait(driver,10).until(registerLink(driver));#显示等待
WebDriverWait(driver,10).until(lambda p:p.find_element(By.LINK_TEXT,“rightnow”).is_displayed())
targetLocator = (By.LINK_TEXT,“RN”)
WebDriverWait(driver,10).until(expected_conditions.visibility_of_element_located(targetLocator))

from selenium.webdriver import ChromeOptions
option = ChromeOptions()
option.add_experimental_option(‘excludeSwitches’, [‘enable-automation’])#开启实验性功能
browser=webdriver.Chrome(options=option)
script = ‘’’
Object.defineProperty(navigator, ‘webdriver’, {
get: () => undefined
})
‘’’
browser.execute_cdp_cmd(“Page.addScriptToEvaluateOnNewDocument”, {“source”: script})
browser.get(‘https://www.taobao.com’)
这样可以更改window.navigator.webdriver的值为undefined

2023年1月28日16:13:19
1.
#更改user-agent
options.add_argument(‘User-Agent=Mozilla/5.0 (Linux; U; Android 8.1.0; zh-cn; BLA-AL00 Build/HUAWEIBLA-AL00) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.132 MQQBrowser/8.9 Mobile Safari/537.36’)
2.
#更改设置
options.add_argument(‘–disable-infobars’) # 禁止策略化
options.add_argument(‘–no-sandbox’) # 解决DevToolsActivePort文件不存在的报错
options.add_argument(‘window-size=1920x3000’) # 指定浏览器分辨率
options.add_argument(‘–disable-gpu’) # 谷歌文档提到需要加上这个属性来规避bug
options.add_argument(‘–incognito’) # 隐身模式(无痕模式)
options.add_argument(‘–disable-javascript’) # 禁用javascript
options.add_argument(‘–start-maximized’) # 最大化运行(全屏窗口),不设置,取元素会报错
options.add_argument(‘–disable-infobars’) # 禁用浏览器正在被自动化程序控制的提示
options.add_argument(‘–hide-scrollbars’) # 隐藏滚动条, 应对一些特殊页面
options.add_argument(‘blink-settings=imagesEnabled=false’) # 不加载图片, 提升速度
options.add_argument(‘–headless’) # 浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败
options.binary_location = r"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" # 手动指定使用的浏览器位置
3.
去除navigator反爬虫
from selenium import webdriver
browser = webdriver.Chrome()
script=‘’‘Object.defineProperties(navigator, {webdriver:{get:()=>undefined}})’‘’
browser.execute_script(script)
4.
一个字节(BYTE)=8bit
常见字符集名称:GB2312字符集、BIG5字符集、 GB18030字符集、Unicode字符集等
ASCII字符集:英文字符均占1个字节
Unicode:所有字符都是两个字节,对于英文字符,高字节为0,低字节与ASCII码相同
GB2312:一个小于127的字符的意义与原来相同, 但两个大于127的字符连在一起时, 就表示
一个汉字, 前面的一个字节(他称之为高字节)从0xA1用到 0xF7, 后面一个字节(低字节)
从0xA1到0xFE, 这样我们就可以组合出大约7000多个简体汉字了. 在这些编码里, 我们还
把数学符号,罗马希腊的 字母,日文的假名们都编进去了, 连在 ASCII 里本来就有的数字
,标点,字母都统统重新编了两个字节长的编码, 这就是常说的"全角"字符, 而原来在127
号以下的那些就叫"半角"字符了

段落:
1、 代表开始以html形式展开、这是网页必须存在的
2、有这个/斜扛的都是代表这个标签结束,与上面的标签对等、所有的标签都必须要有/斜杠
3、代表开始、头部的意思
4、

代表是html里的表
5、是换行的意思、包含在tr里面的每个标签都换行
7、
代表是表头、也可以说是字段名
6、
意思为“单元格”,用于定义HTML表格中的标准单元格,可以包含数据
8、这是标题、就是显示什么网站名<br/> 9、这个标签里面的都是其他的文件内容<br/> 10、%s 这个百分号与s是什么意思呢、这是填充、可以从数据库返回数据填充进html<br/> 11、<p>段落标签、用于划分内容一段一段的<br/> 12、<h1>也是段落标签、用于划分标题一个题一个题、<h6>就是分6段<br/> 13、<img/>用于页面效果中展示最后一张图片<br/> 14、<ul type="">无序列表、用于效果中定义一个无序列表<br/> 15、<ol type="">有序列表<br/> 16、自定义列表->dl:外围标签dt:列表的标题标签dd:设置列表的具体列表项<br/> 16、<li>列表条目项标签、展示列表的一个条目<br/> 17、<a>超链接标签、通常就是放一个链接,<a>必须有一个herf属性<br/> 18、</a></a><div>块级的块标签、定义一个块、默认占满一行进行内容的显示<br/> 19、<b>粗字体<br/> 20、<i>斜字体<br/> 21、<u>底线<br/> 样式:<br/> 1、一个辅助性标签,位于文档的头部</u></i></b></div></li></ol></ul></h6></h1></p>

2、 3、< img src=”图片地址” width=”宽度” height=”高度” / > 4、< audio src=”音乐” autoplay=“autoplay” loop=”loop”/ > 5、2< sup >n< /sup >:设置上标 6、log< sub>10< /sub>10:设置下标

JavaScript
①要用围起来
②结尾要;
③您可以在 HTML 文档中放入不限数量的脚本。
脚本可位于 HTML 的 或 部分中,或者同时存在于两个部分中。
通常的做法是把函数放入 部分中,或者放在页面底部。这样就可以把它们安置到同一处位置,不会干扰页面的内容。
④也可以把脚本保存到外部文件中。外部文件通常包含被多个网页使用的代码。
外部 JavaScript 文件的文件扩展名是 .js。
如需使用外部文件,请在

1.写文本:
document.write(“

这是一个标题

”);
document.write(“

这是一个段落。

”);
2.按钮:
点我!
3.改变HTML内容
x=document.getElementById(“demo”); //查找元素
x.innerHTML=“Hello JavaScript”; //改变内容
4.改变图片
function changeImage()
{
element=document.getElementById(‘myimage’)
if (element.src.match(“bulbon”))
{
element.src=“/images/pic_bulboff.gif”;
}
else
{
element.src=“/images/pic_bulbon.gif”;
}
}
5.改变HTML样式
x=document.getElementById(“demo”) //找到元素
x.style.color=“#ff0000”; //改变样式
6.
验证输入
if isNaN(x) {
alert(“不是数字”);
}
7.
if(isNaN(x)||x.replace(/(^\s*)|(\s*$)/g,“”)==“”){
alert(“不是数字”);
}

CSS
写法:

如果你要在HTML元素中设置CSS样式,你需要在元素中设置"id" 和 "class"选择器。
id 选择器:
#para1
{
text-align:center;
color:red;
}
class 选择器:
.center {text-align:center;}

外部样式表:

内部样式表:

内联样式:

这是一个段落。

(内联样式)Inline style > (内部样式)Internal style sheet >(外部样式)External style sheet > 浏览器默认样式

cookie格式:
NAME=VALUE;Expires=DATE;Path=PATH;Domain=DOMAIN_NAME;SECURE

在正常情况下,Cookie值可以由服务器端或JavaScript代码设定。
在客户端第一次向服务器端发起请求之前,客户端是不会有Cookie值的。
当客户端的请求到达服务器端后,服务器端可以将Cookie值写在响应头中并返回给客户端,
或者客户端工具(如浏览器)在渲染页面时,由页面中的JavaScript代码生成Cookie值。
服务器生成Cookie值并将其添加到响应头中返回给浏览器,
浏览器检测到响应头中的Set-Cookie头域后将对应的Cookie值保存起来,
而后每一次请求都会自动携带对应的Cookie,除非Cookie过期或者被清除。

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

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

相关文章

Flutter 中的 CupertinoTextSelectionToolbar 小部件:全面指南

Flutter 中的 CupertinoTextSelectionToolbar 小部件&#xff1a;全面指南 在 Flutter 中&#xff0c;CupertinoTextSelectionToolbar 是一个专门用于 iOS 风格的文本选择工具栏的小部件。它提供了一组与 iOS 系统相一致的文本操作控件&#xff0c;如复制、粘贴等。这个工具栏…

Docker 快速更改容器的重启策略(Restart Policies)以及重启策略详解

目录 1. 使用 docker update 命令2. 在启动容器时指定重启策略3. 在 Docker Compose 文件中指定重启策略4. 总结 官方文档&#xff1a;Start containers automatically 1. 使用 docker update 命令 Docker 提供了 docker update 命令&#xff0c;可以在容器运行时更改其重启策…

python 队列生产者消费者爬虫

当使用Python编写一个基于队列的生产者消费者爬虫时&#xff0c;我们通常会使用threading或multiprocessing模块来处理并发&#xff0c;并使用queue模块来管理数据队列。下面是一个详细的示例&#xff0c;该示例展示了如何使用生产者线程生成URL&#xff0c;消费者线程爬取这些…

循序渐进Docker Compose

文章目录 1.概述1.1 Docker Compose 定义1.2 Docker Compose背景1.3 Docker Compose核心概念 2.安装2.1 Official Repos2.2 Manual Installation2.3 v1.x 兼容性 3. YAML 配置说明3.1 Services3.2 Volumes & Networks 4. 解析 Service4.1 Pulling一个Image4.2 Building一个…

Unknown module(s) in QT: texttospeech

目录 Qt TextToSpeech Engines tts测试代码&#xff1a; pro配置&#xff1a; 报错&#xff1a;connection to speech-dispatcher failed 不支持中文播报 1. 安装 espeak-ng 和中文语音库 2. 配置 Speech Dispatcher 使用 espeak-ng 3. 配置 espeak-ng 支持中文 4. 重…

Java基础:面向对象(二)

Java基础&#xff1a;面向对象&#xff08;二&#xff09; 文章目录 Java基础&#xff1a;面向对象&#xff08;二&#xff09;1. 面向对象编程思想2. 类与对象2.1 类2.1.1 类的定义2.1.2 成员变量2.1.3 局部变量 2.2 对象2.2.1 对象的定义2.2.2 对象的使用2.2.3 对象创建的原理…

DataGrip使用ssh连接数据库的操作流程

1 选择数据源种类 2 配置ssh 3 填写host、port和认证方式 我选择的密码方式&#xff0c;也可选择其他方式连接&#xff1a; 本文由博客一文多发平台 OpenWrite 发布&#xff01;

【放球问题】920. 播放列表的数量

本文涉及知识点 【组合数学 隔板法 容斥原理】放球问题 本题同解 【动态规划】【组合数学】【C算法】920播放列表的数量 LeetCode 920. 播放列表的数量 你的音乐播放器里有 n 首不同的歌&#xff0c;在旅途中&#xff0c;你计划听 goal 首歌&#xff08;不一定不同&#x…

Selenium 模拟操作与 pytest 断言的结合使用

Selenium 模拟操作与 pytest 断言的结合使用 在使用 Selenium 进行 UI 自动化测试时&#xff0c;通常会结合 pytest 作为测试框架来编写和执行测试用例。pytest 提供了丰富的断言功能&#xff0c;可以用来验证 Selenium 模拟操作的结果是否符合预期。 断言的基本用法 在 pyt…

释放 OSINT 的力量:在线调查综合指南

开源情报 (OSINT) 是从公开信息中提取有价值见解的艺术。无论您是网络安全专业人士、道德黑客还是情报分析师&#xff0c;OSINT 都能为您提供先进的技术&#xff0c;帮助您筛选海量的数字数据&#xff0c;发现隐藏的真相。 在本文中&#xff0c;我们将深入研究大量的OSINT 资源…

冯喜运:5.29市场避险情绪升温,黄金原油小幅收涨

【黄金消息面分析】&#xff1a;周二&#xff08;5月28日&#xff09;美盘时段&#xff0c;由于美元走弱且市场情绪出现负面变化&#xff0c;黄金收复早前跌幅&#xff0c;站上2350美元关口。金价早盘一度走弱&#xff0c;源于美联储降息可能性降低带来压力&#xff0c;投资者在…

Spring (24)Spring中的ORM支持

在Spring框架中&#xff0c;ORM&#xff08;Object-Relational Mapping&#xff0c;对象关系映射&#xff09;支持是实现数据访问层的关键特性之一。Spring提供了与多个ORM框架的集成支持&#xff0c;包括Hibernate, JPA, JDO以及MyBatis等。Spring的ORM支持主要通过以下几方面…

AWS联网和内容分发之Transit Gateway

将Amazon VPC、AWS账户和本地网络连接到一个网关中。AWS Transit Gateway通过中央枢纽连接Amazon虚拟私有云&#xff08;VPC&#xff09;和本地网络。此连接简化了您的网络&#xff0c;并且结束了复杂的对等关系。Transit Gateway充当高度可扩展的云路由器&#xff0c;每个新的…

李廉洋:5.29黄金早盘2365-2345区间,今日行情走势分析及策略。

黄金消息面分析&#xff1a;当前美国存在一个令人担忧且未被充分关注的问题&#xff1a;房地产行业低迷、高利率和抵押贷款利率、租金高涨以及美联储的紧缩政策构成了一个恶性循环。由于高房价和高抵押贷款利率&#xff0c;美国住房经济活动远低于两年前的水平。为了让该行业好…

基于 RNNs 对 IMDB 电影评论进行情感分类

前言 系列专栏:【深度学习&#xff1a;算法项目实战】✨︎ 涉及医疗健康、财经金融、商业零售、食品饮料、运动健身、交通运输、环境科学、社交媒体以及文本和图像处理等诸多领域&#xff0c;讨论了各种复杂的深度神经网络思想&#xff0c;如卷积神经网络、循环神经网络、生成对…

java-数字加密解密

在Java中进行数字加密和解密是一个重要的安全问题&#xff0c;尤其是在处理敏感数据时。加密和解密技术可以帮助保护数据的安全性&#xff0c;防止未授权的访问和篡改。在本指南中&#xff0c;我们将介绍一些常用的数字加密和解密技术&#xff0c;以及如何在Java中实现它们。 #…

Spring控制重复请求

通过AOP拦截所有请求&#xff0c;控制在规定时间内请求次数。 1&#xff1a;添加maven <dependency><groupId>net.jodah</groupId><artifactId>expiringmap</artifactId><version>0.5.10</version> </dependency> 2&#x…

YiShaAdmin:一款基于.NET Core Web + Bootstrap的企业级快速开发框架

前言 今天大姚给大家分享一款基于.NET Core Web Bootstrap的企业级快速后台开发框架、权限管理系统&#xff0c;代码简单易懂、界面简洁美观&#xff08;基于MIT License开源&#xff0c;免费可商用&#xff09;&#xff1a;YiShaAdmin。 项目官方介绍 YiShaAdmin 基于.NET…

区间相交-435. 无重叠区间,56. 合并区间

题目连接及描述 435. 无重叠区间 - 力扣&#xff08;LeetCode&#xff09; 56. 合并区间 - 力扣&#xff08;LeetCode&#xff09; 题目分析 二维数组&#xff0c;数组中每个元素为大小为2的一维数组&#xff0c;求移除区间的最小数量&#xff0c;使剩余区间互不重叠。今天写…

Android Intent 使用及其详解

Intent这东西&#xff0c;在Android中的地位至关重要&#xff0c;甚至成为"Android第五大组件"。 在我们的常规业务开发中&#xff0c;各个页面的跳转&#xff0c;service的使用&#xff0c;打开相机&#xff0c;app内分享&#xff0c;广播的使用等等都必须用到它。…