-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
292 lines (245 loc) · 45 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
<!DOCTYPE html><html lang="zh-CN ; jp ; en" data-theme="light"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"><title>Nagisaのにちじょう - Nagisa的日常</title><meta name="keywords" content="日常,技术,编程,个人博客,DIY,个人网站,Nagisa的博客,Nagisa的日常,python,渗透,Nagisa的笔记,个人博客,程序员,Nagisa"><meta name="author" content="Nagisa"><meta name="copyright" content="Nagisa"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="ffffff"><meta name="description" content="╮(๑•́ ₃•̀๑)╭">
<meta property="og:type" content="website">
<meta property="og:title" content="Nagisaのにちじょう">
<meta property="og:url" content="https://pckxin.pro/index.html">
<meta property="og:site_name" content="Nagisaのにちじょう">
<meta property="og:description" content="╮(๑•́ ₃•̀๑)╭">
<meta property="og:locale">
<meta property="og:image" content="https://github.com/PCKxin/ID-0202/blob/master/img/main-body/avatar-p1.png?raw=true">
<meta property="article:author" content="Nagisa">
<meta property="article:tag" content="日常,技术,编程,个人博客,DIY,个人网站,Nagisa的博客,Nagisa的日常,python,渗透,Nagisa的笔记,个人博客,程序员,Nagisa">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://github.com/PCKxin/ID-0202/blob/master/img/main-body/avatar-p1.png?raw=true"><link rel="shortcut icon" href="https://github.com/PCKxin/ID-0202/blob/master/img/main-body/head-avr-p1.png?raw=true"><link rel="canonical" href="https://pckxin.pro/"><link rel="preconnect" href="//cdn.jsdelivr.net"/><link rel="preconnect" href="//www.google-analytics.com" crossorigin=""/><link rel="preconnect" href="//hm.baidu.com"/><link rel="preconnect" href="//busuanzi.ibruce.info"/><meta name="baidu-site-verification" content="code-iSnX0DmfO9"/><link rel="stylesheet" href="/css/index.css"><link rel="stylesheet" href="https://fastly.jsdelivr.net/npm/@fortawesome/fontawesome-free@6/css/all.min.css" media="print" onload="this.media='all'"><link rel="stylesheet" href="https://fastly.jsdelivr.net/npm/@fancyapps/ui/dist/fancybox.css" media="print" onload="this.media='all'"><script>var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?9742586ec3e5516bcc01ab6fb37a39e8";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script><script async="async" src="https://www.googletagmanager.com/gtag/js?id=G-N4GXLNMT3M"></script><script>window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-N4GXLNMT3M');
</script><script>const GLOBAL_CONFIG = {
root: '/',
algolia: undefined,
localSearch: {"path":"/search.xml","preload":false,"languages":{"hits_empty":"We didn't find any results for the search: ${query}"}},
translate: undefined,
noticeOutdate: undefined,
highlight: {"plugin":"highlighjs","highlightCopy":true,"highlightLang":true,"highlightHeightLimit":200},
copy: {
success: 'Copy successfully',
error: 'Copy error',
noSupport: 'The browser does not support'
},
relativeDate: {
homepage: false,
post: false
},
runtime: 'days',
date_suffix: {
just: 'Just',
min: 'minutes ago',
hour: 'hours ago',
day: 'days ago',
month: 'months ago'
},
copyright: undefined,
lightbox: 'fancybox',
Snackbar: undefined,
source: {
justifiedGallery: {
js: 'https://fastly.jsdelivr.net/npm/flickr-justified-gallery@2/dist/fjGallery.min.js',
css: 'https://fastly.jsdelivr.net/npm/flickr-justified-gallery@2/dist/fjGallery.min.css'
}
},
isPhotoFigcaption: false,
islazyload: false,
isAnchor: false
}</script><script id="config-diff">var GLOBAL_CONFIG_SITE = {
title: 'Nagisaのにちじょう',
isPost: false,
isHome: true,
isHighlightShrink: false,
isToc: false,
postUpdate: '2023-03-23 20:07:04'
}</script><noscript><style type="text/css">
#nav {
opacity: 1
}
.justified-gallery img {
opacity: 1
}
#recent-posts time,
#post-meta time {
display: inline !important
}
</style></noscript><script>(win=>{
win.saveToLocal = {
set: function setWithExpiry(key, value, ttl) {
if (ttl === 0) return
const now = new Date()
const expiryDay = ttl * 86400000
const item = {
value: value,
expiry: now.getTime() + expiryDay,
}
localStorage.setItem(key, JSON.stringify(item))
},
get: function getWithExpiry(key) {
const itemStr = localStorage.getItem(key)
if (!itemStr) {
return undefined
}
const item = JSON.parse(itemStr)
const now = new Date()
if (now.getTime() > item.expiry) {
localStorage.removeItem(key)
return undefined
}
return item.value
}
}
win.getScript = url => new Promise((resolve, reject) => {
const script = document.createElement('script')
script.src = url
script.async = true
script.onerror = reject
script.onload = script.onreadystatechange = function() {
const loadState = this.readyState
if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
script.onload = script.onreadystatechange = null
resolve()
}
document.head.appendChild(script)
})
win.activateDarkMode = function () {
document.documentElement.setAttribute('data-theme', 'dark')
if (document.querySelector('meta[name="theme-color"]') !== null) {
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#0d0d0d')
}
}
win.activateLightMode = function () {
document.documentElement.setAttribute('data-theme', 'light')
if (document.querySelector('meta[name="theme-color"]') !== null) {
document.querySelector('meta[name="theme-color"]').setAttribute('content', 'ffffff')
}
}
const t = saveToLocal.get('theme')
if (t === 'dark') activateDarkMode()
else if (t === 'light') activateLightMode()
const asideStatus = saveToLocal.get('aside-status')
if (asideStatus !== undefined) {
if (asideStatus === 'hide') {
document.documentElement.classList.add('hide-aside')
} else {
document.documentElement.classList.remove('hide-aside')
}
}
const detectApple = () => {
if(/iPad|iPhone|iPod|Macintosh/.test(navigator.userAgent)){
document.documentElement.classList.add('apple')
}
}
detectApple()
})(window)</script><meta name="generator" content="Hexo 6.2.0"><link rel="alternate" href="/atom.xml" title="Nagisaのにちじょう" type="application/atom+xml">
</head><body><div id="sidebar"><div id="menu-mask"></div><div id="sidebar-menus"><div class="avatar-img is-center"><img src="https://github.com/PCKxin/ID-0202/blob/master/img/main-body/avatar-p1.png?raw=true" onerror="onerror=null;src='/img/Akarin.webp'" alt="avatar"/></div><div class="sidebar-site-data site-data is-center"><a href="/archives/"><div class="headline">Articles</div><div class="length-num">18</div></a><a href="/tags/"><div class="headline">Tags</div><div class="length-num">16</div></a><a href="/categories/"><div class="headline">Categories</div><div class="length-num">3</div></a></div><hr/><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> 首页</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> Archives</span></a></div><div class="menus_item"><a class="site-page" href="/link/"><i class="fa-fw fas fa-link"></i><span> link</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fas fa-heart"></i><span> 计划表</span></a></div></div></div></div><div class="page" id="body-wrap"><header class="full_page" id="page-header" style="background-image: url('https://github.com/PCKxin/ID-0202/blob/master/img/main-body/indexbg-p1.png?raw=true')"><nav id="nav"><span id="blog_name"><a id="site-name" href="/">Nagisaのにちじょう</a></span><div id="menus"><div id="search-button"><a class="site-page social-icon search"><i class="fas fa-search fa-fw"></i><span> Search</span></a></div><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> 首页</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> Archives</span></a></div><div class="menus_item"><a class="site-page" href="/link/"><i class="fa-fw fas fa-link"></i><span> link</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fas fa-heart"></i><span> 计划表</span></a></div></div><div id="toggle-menu"><a class="site-page"><i class="fas fa-bars fa-fw"></i></a></div></div></nav><div id="site-info"><h1 id="site-title">Nagisaのにちじょう</h1><div id="site-subtitle"><span id="subtitle"></span></div><div id="site_social_icons"><a class="social-icon" href="https://github.com/PCKxin" target="_blank" title="Github"><i class="fab fa-github"></i></a><a class="social-icon" href="mailto:[email protected]" target="_blank" title="Email"><i class="fas fa-envelope"></i></a><a class="social-icon" href="/atom.xml" target="_blank" title="RSS"><i class="fas fa-rss"></i></a></div></div><div id="scroll-down"><i class="fas fa-angle-down scroll-down-effects"></i></div></header><main class="layout" id="content-inner"><div class="recent-posts" id="recent-posts"><div class="recent-post-item"><div class="post_cover left"><a href="/posts/new-js-note.html" title="新!JS学习笔记"><img class="post_bg" src="https://github.com/PCKxin/ID-0202/blob/master/img/top-img/brak-p1.jpg?raw=true" onerror="this.onerror=null;this.src='https://github.com/PCKxin/ID-0202/blob/master/img/main-body/404-01.png?raw=true'" alt="新!JS学习笔记"></a></div><div class="recent-post-info"><a class="article-title" href="/posts/new-js-note.html" title="新!JS学习笔记">新!JS学习笔记</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2023-03-23T11:51:54.000Z" title="Created 2023-03-23 19:51:54">2023-03-23</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/StudyNote/">StudyNote</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/Note/">Note</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="/tags/%E5%89%8D%E7%AB%AF%E4%B8%89%E5%89%91%E5%AE%A2/">前端三剑客</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="/tags/JavaScript/">JavaScript</a></span></div><div class="content">W3C HTML DOM标准
整个文档是一个文档节点
每个HTML元素是一个元素节点
HTML元素内文本是文本节点
HTML属性是属性节点
DOM树能干什么
1.JavaScript 能够改变页面中的所有HTML元素
2.JavaScript 能够改变页面中的所有HTML属性
3.JavaScript 能够改变页面中的所有CSS样式
4.JavaScript 能对页面中所有事件作出反应
简介&特点&作用12345678910111213141516171819202122232425262728293031323334353637### 简介`JavaScript`是由美国网景通信公司开发的一种跨平台网页,面向对象`object-oriented`网页脚本语言`JavaScript`代码可以直接嵌入HTML文件中,随着网页一起传送到客户端浏览器,然后通过浏览器来解释执行JS是前端开发的的核心语言,基于事件和驱动的解释性,松散型语言JS的解释性,松散型理解? 1. 解释性:边执行边解释,在浏览器环境下运行 2. 松散型:定义变量的时候,不需要强类型,直接弱 ...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/posts/pysocket.html" title="Python Socket"><img class="post_bg" src="https://github.com/PCKxin/ID-0202/blob/master/img/top-img/miku-p4.jpg?raw=true" onerror="this.onerror=null;this.src='https://github.com/PCKxin/ID-0202/blob/master/img/main-body/404-01.png?raw=true'" alt="Python Socket"></a></div><div class="recent-post-info"><a class="article-title" href="/posts/pysocket.html" title="Python Socket">Python Socket</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2023-02-28T10:59:46.000Z" title="Created 2023-02-28 18:59:46">2023-02-28</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/StudyNote/">StudyNote</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/python/">python</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="/tags/Note/">Note</a></span></div><div class="content">python socket 编程socket 基于C/S架构 通常两个文件一个服务端(server) 一个客户端(client)
import socket 模块
socket 类型&解释1234567891011121314151617socket.AF_UNIX # 只能够用于单一的Unix系统进程间通信socket.AF_INET # ipV4socket.AF_INET6 # ipv6socket.SOCK_STREAM # 流式socket , for TCPsocket.SOCK_DGRAM # 数据报式socket , for UDPsocket.SOCK_SEQPACKET # 可靠的连续数据包服务socket.SOCK_RAW# 原始套接字,普通的套接字无法处理ICMP、IGMP等网络报文,而SOCK_RAW可以;# 其次,SOCK_RAW也可以处理特殊的IPv4报文;# 此外,利用原始套接字,可以通过 IP_HDRINCL 套接字选项由用户构造IP头
创建TCP Socket:
1s = socket.socket(socket.AF_ ...</div></div></div><div class="recent-post-item"><div class="post_cover left"><a href="/posts/py-decorator.html" title="Py装饰器Decorator"><img class="post_bg" src="https://github.com/PCKxin/ID-0202/blob/master/img/top-img/02-p1.jpg?raw=true" onerror="this.onerror=null;this.src='https://github.com/PCKxin/ID-0202/blob/master/img/main-body/404-01.png?raw=true'" alt="Py装饰器Decorator"></a></div><div class="recent-post-info"><a class="article-title" href="/posts/py-decorator.html" title="Py装饰器Decorator">Py装饰器Decorator</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2022-11-26T10:25:33.000Z" title="Created 2022-11-26 18:25:33">2022-11-26</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/StudyNote/">StudyNote</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/python/">python</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="/tags/Note/">Note</a></span></div><div class="content">装饰器(Decorator)装饰器本质是个函数,用来给别的函数增加功能
装饰器可以在代码运行期间动态地增加函数的功能
想要给多个函数增加相同的功能,一个一个地修改效率很低而且可读性差,所以采用装饰器
基础语法1234567891011121314151617181920def 装饰器名(被装饰函数): # 装饰器 def 内容函数名(如果被装饰函数有参数那么输入 *args ): # 运行的内容 *args是执行的其他函数所带的参数(多少都行),如果没带可以留空 XX内容 XX内容 被装饰函数(如果被装饰函数有参数那么输入 *args ) # 如果被装饰函数中含有reture则需要返回被装饰函数 # 没有则不需要 return 内容函数名@装饰器名def 被装饰函数(): 内容直接调用被装饰函数就行
例子12345678910111213141516171819202122232425262728293031323334353637383940# 判断是否是质数import t ...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/posts/anti-spider-go.html" title="反爬虫对策--持续更新"><img class="post_bg" src="https://github.com/PCKxin/ID-0202/blob/master/img/top-img/brak-p7.png?raw=true" onerror="this.onerror=null;this.src='https://github.com/PCKxin/ID-0202/blob/master/img/main-body/404-01.png?raw=true'" alt="反爬虫对策--持续更新"></a></div><div class="recent-post-info"><a class="article-title" href="/posts/anti-spider-go.html" title="反爬虫对策--持续更新">反爬虫对策--持续更新</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2022-11-18T05:45:00.000Z" title="Created 2022-11-18 13:45:00">2022-11-18</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/StudyNote/">StudyNote</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/python/">python</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="/tags/%E7%88%AC%E8%99%AB/">爬虫</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="/tags/note/">note</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="/tags/%E5%8F%8D%E7%88%AC%E8%99%AB/">反爬虫</a></span></div><div class="content">最最基础加个请求头
12345678headers = { 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)' 'AppleWebKit/537.36 (KHTML, like Gecko)' 'Chrome/105.0.0.0 Safari/537.36' 'origin': # 源头 'referer': # 引用源地址}
</div></div></div><div class="recent-post-item"><div class="post_cover left"><a href="/posts/httperror.html" title="HTTP响应状态码"><img class="post_bg" src="https://github.com/PCKxin/ID-0202/blob/master/img/top-img/brak-p7.png?raw=true" onerror="this.onerror=null;this.src='https://github.com/PCKxin/ID-0202/blob/master/img/main-body/404-01.png?raw=true'" alt="HTTP响应状态码"></a></div><div class="recent-post-info"><a class="article-title" href="/posts/httperror.html" title="HTTP响应状态码">HTTP响应状态码</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2022-11-18T05:19:18.000Z" title="Created 2022-11-18 13:19:18">2022-11-18</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/StudyNote/">StudyNote</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/http/">http</a></span></div><div class="content">1xx: 临时响应表示临时响应并需要请求者继续执行操作的状态代码。
12100 **继续** 请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。 101 **切换协议** 请求者已要求服务器切换协议,服务器已确认并准备切换。
2xx: 成功表示成功处理了请求的状态代码。
1234567200 **成功** 服务器已成功处理了请求。通常,这表示服务器提供了请求的网页。201 **已创建** 请求成功并且服务器创建了新的资源。202 **已接受** 服务器已接受请求,但尚未处理。203 **非授权信息** 服务器已成功处理了请求,但返回的信息可能来自另一来源。204 **无内容** 服务器成功处理了请求,但没有返回任何内容。205 **重置内容**服务器成功处理了请求,但没有返回 任何内容。206 **部分内容** 服务器成功处理了部分 GET 请求。
3xx: 重定向表示要完成请求,需要进一步操作。通常,以下状态代码用来重定向。
12345678300 **多种选择** 针对请求,服务器可执行多种 ...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/posts/spider-p3.html" title="超强库!!seleniumの使用笔记"><img class="post_bg" src="https://github.com/PCKxin/ID-0202/blob/master/img/top-img/brak-p2.jpg?raw=true" onerror="this.onerror=null;this.src='https://github.com/PCKxin/ID-0202/blob/master/img/main-body/404-01.png?raw=true'" alt="超强库!!seleniumの使用笔记"></a></div><div class="recent-post-info"><a class="article-title" href="/posts/spider-p3.html" title="超强库!!seleniumの使用笔记">超强库!!seleniumの使用笔记</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2022-11-08T01:30:33.000Z" title="Created 2022-11-08 09:30:33">2022-11-08</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/StudyNote/">StudyNote</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/python/">python</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="/tags/%E7%88%AC%E8%99%AB/">爬虫</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="/tags/note/">note</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="/tags/%E5%AE%9E%E7%94%A8%E5%BA%93/">实用库</a></span></div><div class="content">selenium简单食用导入123from selenium import webdriver # 导入引擎方法from selenium.webdriver.common.by import By from selenium.webdriver.chrome.service import Service # 解决版本更新,方法过时后报错
学会的方法–持续更新设置渲染规则1234567891011121314151617181920op = webdriver.ChromeOptions()# op.add_argument("--headless") 添加规则--无头模式(不显示浏览器窗口)op.headless = True # 后面发现无头模式,这种写法也行driver_path = Service(r'浏览器引擎的绝对路径') # 导入浏览器引擎driver = webdriver.Chrome(service = driver_path, options = op)driver.get("") # ...</div></div></div><div class="recent-post-item"><div class="post_cover left"><a href="/posts/spider-p2.html" title="爬虫--BeautifulSoup解析库使用"><img class="post_bg" src="https://github.com/PCKxin/ID-0202/blob/master/img/top-img/brak-p2.jpg?raw=true" onerror="this.onerror=null;this.src='https://github.com/PCKxin/ID-0202/blob/master/img/main-body/404-01.png?raw=true'" alt="爬虫--BeautifulSoup解析库使用"></a></div><div class="recent-post-info"><a class="article-title" href="/posts/spider-p2.html" title="爬虫--BeautifulSoup解析库使用">爬虫--BeautifulSoup解析库使用</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2022-11-06T03:30:24.000Z" title="Created 2022-11-06 11:30:24">2022-11-06</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/StudyNote/">StudyNote</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/python/">python</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="/tags/%E7%88%AC%E8%99%AB/">爬虫</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="/tags/note/">note</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="/tags/%E5%AE%9E%E7%94%A8%E5%BA%93/">实用库</a></span></div><div class="content">解析提取网页数据用的库
12345678910from bs4 in BeautifulSoup # 引入bs库。换代可能变,记得看文档find (tag, attributes, recursive, text, keywords) # 这是官方文档全的方法find_all (tag, attributes, recursive, text, keywords) # 这是官方文档全的方法find_all()变量 = BeautifulSoup( 要解析的字符串, ' 解释器 ' )# 解释器,用到一个内置库:html.parser 这个不是唯一的,是比较简单的
实例讲解12345678910111213141516171819202122232425262728293031323334353637import requests from bs4 import BeautifulSoup# 请求&转换成字符串数据url = ' 'res = requests.get(url)htmltxt = res.text# ...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/posts/ubuntu-skill-02.html" title="ubuntu20.04下 vmware更新后进不去bug修复"><img class="post_bg" src="https://github.com/PCKxin/ID-0202/blob/master/img/top-img/gaburiru-p1.png?raw=true" onerror="this.onerror=null;this.src='https://github.com/PCKxin/ID-0202/blob/master/img/main-body/404-01.png?raw=true'" alt="ubuntu20.04下 vmware更新后进不去bug修复"></a></div><div class="recent-post-info"><a class="article-title" href="/posts/ubuntu-skill-02.html" title="ubuntu20.04下 vmware更新后进不去bug修复">ubuntu20.04下 vmware更新后进不去bug修复</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2022-11-03T02:38:13.000Z" title="Created 2022-11-03 10:38:13">2022-11-03</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/Ubuntu/">Ubuntu</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/Ubuntu/">Ubuntu</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="/tags/%E6%8A%A5%E9%94%99/">报错</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="/tags/%E8%99%9A%E6%8B%9F%E6%9C%BA/">虚拟机</a></span></div><div class="content">ubuntu下vmware更新后进不去bug解决方法,按顺序执行查询自己的vm版本,这部出的结果记下来1vmware -v
克隆git库1git clone https://github.com/mkubecek/vmware-host-modules.git
进入文件夹1cd vmware-host-modules
git出自己对应版本的,看好第一步的版本号!!1git checkout workstation-16.2.3
下面按顺序执行就完了1make
1make install
1sudo /etc/init.d/vmware start
完事打开新终端1sudo su
1sudo vmware
OK解决,用就完了😆
2022/11/3小记:
我以后除了开发需要不会再用ubuntu做主系统了
本文首发于我的个人网站
</div></div></div><div class="recent-post-item"><div class="post_cover left"><a href="/posts/js-note.html" title="JS学习笔记"><img class="post_bg" src="https://github.com/PCKxin/ID-0202/blob/master/img/top-img/brak-p1.jpg?raw=true" onerror="this.onerror=null;this.src='https://github.com/PCKxin/ID-0202/blob/master/img/main-body/404-01.png?raw=true'" alt="JS学习笔记"></a></div><div class="recent-post-info"><a class="article-title" href="/posts/js-note.html" title="JS学习笔记">JS学习笔记</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2022-11-03T01:33:07.000Z" title="Created 2022-11-03 09:33:07">2022-11-03</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/StudyNote/">StudyNote</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/Note/">Note</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="/tags/%E5%89%8D%E7%AB%AF%E4%B8%89%E5%89%91%E5%AE%A2/">前端三剑客</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="/tags/JavaScript/">JavaScript</a></span></div><div class="content">W3C HTML DOM标准1.整个文档是一个文档节点
2.每个HTML元素是一个元素节点
3.HTML元素内文本是文本节点
4.HTML属性是属性节点
使用DOM树能干什么1.JavaScript 能够改变页面中的所有HTML元素
2.JavaScript 能够改变页面中的所有HTML属性
3.JavaScript 能够改变页面中的所有CSS样式
4.JavaScript 能对页面中所有事件作出反应
简介JavaScript是由美国网景通信公司开发的一种跨平台网页,面向对象object-oriented网页脚本语言
JavaScript代码可以直接嵌入HTML文件中,随着网页一起传送到客户端浏览器,然后通过浏览器来解释执行
JS是前端开发的的核心语言,基于事件和驱动的解释性,松散型语言
JS的解释性,松散型理解?
1. 解释性:边执行边解释,在浏览器环境下运行
2. 松散型:定义变量的时候,不需要强类型,直接弱类型,定义的变量不需要声明类型
特点1. 脚本编写语言
2. 基于对象
可以被看作是一种面向对象的语言,这意味着JavaScript能运用其已经创建的对象。因此 ...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/posts/css-note.html" title="CSS学习笔记"><img class="post_bg" src="https://github.com/PCKxin/ID-0202/blob/master/img/top-img/brak-p1.jpg?raw=true" onerror="this.onerror=null;this.src='https://github.com/PCKxin/ID-0202/blob/master/img/main-body/404-01.png?raw=true'" alt="CSS学习笔记"></a></div><div class="recent-post-info"><a class="article-title" href="/posts/css-note.html" title="CSS学习笔记">CSS学习笔记</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2022-11-03T01:32:57.000Z" title="Created 2022-11-03 09:32:57">2022-11-03</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/StudyNote/">StudyNote</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/Note/">Note</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="/tags/%E5%89%8D%E7%AB%AF%E4%B8%89%E5%89%91%E5%AE%A2/">前端三剑客</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="/tags/CSS/">CSS</a></span></div><div class="content">说明CSS 指的是“Cascading style sheet” 层叠样式表
控制网页外观的语言
HTML 是网页结构 CSS 是网页外观 JavaScript是网页的功能行为
样式表引入方式1. 外部样式表
2. 内部样式表
3. 行内样式表
内部样式表指的是把HTML代码和CSS代码放到同一个HTML文件中
语法:
<style type="text/css">
</style>
行内样式表内部样式表的CSS是在"style标签"内定义的,而行内样式表的CSS是在"标签的style属性"中来定义的
外部样式表外部样式表在单独文件中定义,然后在HTML文件的<head></head>标签中使用link标签引用
语法:
<link rel="stylesheet" type="text/css" href="文件路径">
href:为外部资源地址,这里是css的地址
rel:定义当前文档与被链接 ...</div></div></div><nav id="pagination"><div class="pagination"><span class="page-number current">1</span><a class="page-number" href="/page/2/#content-inner">2</a><a class="extend next" rel="next" href="/page/2/#content-inner"><i class="fas fa-chevron-right fa-fw"></i></a></div></nav></div><div class="aside-content" id="aside-content"><div class="card-widget card-info"><div class="is-center"><div class="avatar-img"><img src="https://github.com/PCKxin/ID-0202/blob/master/img/main-body/avatar-p1.png?raw=true" onerror="this.onerror=null;this.src='/img/Akarin.webp'" alt="avatar"/></div><div class="author-info__name">Nagisa</div><div class="author-info__description">╮(๑•́ ₃•̀๑)╭</div></div><div class="card-info-data site-data is-center"><a href="/archives/"><div class="headline">Articles</div><div class="length-num">18</div></a><a href="/tags/"><div class="headline">Tags</div><div class="length-num">16</div></a><a href="/categories/"><div class="headline">Categories</div><div class="length-num">3</div></a></div><a id="card-info-btn" target="_blank" rel="noopener" href="https://github.com/PCKxin"><i class="fab fa-github"></i><span>Follow Me</span></a><div class="card-info-social-icons is-center"><a class="social-icon" href="https://github.com/PCKxin" target="_blank" title="Github"><i class="fab fa-github"></i></a><a class="social-icon" href="mailto:[email protected]" target="_blank" title="Email"><i class="fas fa-envelope"></i></a><a class="social-icon" href="/atom.xml" target="_blank" title="RSS"><i class="fas fa-rss"></i></a></div></div><div class="card-widget card-announcement"><div class="item-headline"><i class="fas fa-bullhorn fa-shake"></i><span>Announcement</span></div><div class="announcement_content">博客二代开始运行</div></div><div class="sticky_layout"><div class="card-widget card-recent-post"><div class="item-headline"><i class="fas fa-history"></i><span>Recent Post</span></div><div class="aside-list"><div class="aside-list-item"><a class="thumbnail" href="/posts/new-js-note.html" title="新!JS学习笔记"><img src="https://github.com/PCKxin/ID-0202/blob/master/img/top-img/brak-p1.jpg?raw=true" onerror="this.onerror=null;this.src='https://github.com/PCKxin/ID-0202/blob/master/img/main-body/404-01.png?raw=true'" alt="新!JS学习笔记"/></a><div class="content"><a class="title" href="/posts/new-js-note.html" title="新!JS学习笔记">新!JS学习笔记</a><time datetime="2023-03-23T11:51:54.000Z" title="Created 2023-03-23 19:51:54">2023-03-23</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/posts/pysocket.html" title="Python Socket"><img src="https://github.com/PCKxin/ID-0202/blob/master/img/top-img/miku-p4.jpg?raw=true" onerror="this.onerror=null;this.src='https://github.com/PCKxin/ID-0202/blob/master/img/main-body/404-01.png?raw=true'" alt="Python Socket"/></a><div class="content"><a class="title" href="/posts/pysocket.html" title="Python Socket">Python Socket</a><time datetime="2023-02-28T10:59:46.000Z" title="Created 2023-02-28 18:59:46">2023-02-28</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/posts/py-decorator.html" title="Py装饰器Decorator"><img src="https://github.com/PCKxin/ID-0202/blob/master/img/top-img/02-p1.jpg?raw=true" onerror="this.onerror=null;this.src='https://github.com/PCKxin/ID-0202/blob/master/img/main-body/404-01.png?raw=true'" alt="Py装饰器Decorator"/></a><div class="content"><a class="title" href="/posts/py-decorator.html" title="Py装饰器Decorator">Py装饰器Decorator</a><time datetime="2022-11-26T10:25:33.000Z" title="Created 2022-11-26 18:25:33">2022-11-26</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/posts/anti-spider-go.html" title="反爬虫对策--持续更新"><img src="https://github.com/PCKxin/ID-0202/blob/master/img/top-img/brak-p7.png?raw=true" onerror="this.onerror=null;this.src='https://github.com/PCKxin/ID-0202/blob/master/img/main-body/404-01.png?raw=true'" alt="反爬虫对策--持续更新"/></a><div class="content"><a class="title" href="/posts/anti-spider-go.html" title="反爬虫对策--持续更新">反爬虫对策--持续更新</a><time datetime="2022-11-18T05:45:00.000Z" title="Created 2022-11-18 13:45:00">2022-11-18</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/posts/httperror.html" title="HTTP响应状态码"><img src="https://github.com/PCKxin/ID-0202/blob/master/img/top-img/brak-p7.png?raw=true" onerror="this.onerror=null;this.src='https://github.com/PCKxin/ID-0202/blob/master/img/main-body/404-01.png?raw=true'" alt="HTTP响应状态码"/></a><div class="content"><a class="title" href="/posts/httperror.html" title="HTTP响应状态码">HTTP响应状态码</a><time datetime="2022-11-18T05:19:18.000Z" title="Created 2022-11-18 13:19:18">2022-11-18</time></div></div></div></div><div class="card-widget card-categories"><div class="item-headline">
<i class="fas fa-folder-open"></i>
<span>Categories</span>
</div>
<ul class="card-category-list" id="aside-cat-list">
<li class="card-category-list-item "><a class="card-category-list-link" href="/categories/StudyNote/"><span class="card-category-list-name">StudyNote</span><span class="card-category-list-count">13</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/Ubuntu/"><span class="card-category-list-name">Ubuntu</span><span class="card-category-list-count">2</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/%E5%A4%87%E5%BF%98%E5%BD%95/"><span class="card-category-list-name">备忘录</span><span class="card-category-list-count">1</span></a></li>
</ul></div><div class="card-widget card-tags"><div class="item-headline"><i class="fas fa-tags"></i><span>Tags</span></div><div class="card-tag-cloud"><a href="/tags/CSS/" style="font-size: 1.1em; color: #999">CSS</a> <a href="/tags/HTML/" style="font-size: 1.1em; color: #999">HTML</a> <a href="/tags/Hexo/" style="font-size: 1.1em; color: #999">Hexo</a> <a href="/tags/JavaScript/" style="font-size: 1.2em; color: #999da3">JavaScript</a> <a href="/tags/Note/" style="font-size: 1.5em; color: #99a9bf">Note</a> <a href="/tags/Ubuntu/" style="font-size: 1.2em; color: #999da3">Ubuntu</a> <a href="/tags/http/" style="font-size: 1.1em; color: #999">http</a> <a href="/tags/note/" style="font-size: 1.4em; color: #99a5b6">note</a> <a href="/tags/python/" style="font-size: 1.5em; color: #99a9bf">python</a> <a href="/tags/%E5%89%8D%E7%AB%AF%E4%B8%89%E5%89%91%E5%AE%A2/" style="font-size: 1.4em; color: #99a5b6">前端三剑客</a> <a href="/tags/%E5%8F%8D%E7%88%AC%E8%99%AB/" style="font-size: 1.1em; color: #999">反爬虫</a> <a href="/tags/%E5%A4%87%E5%BF%98%E5%BD%95/" style="font-size: 1.1em; color: #999">备忘录</a> <a href="/tags/%E5%AE%9E%E7%94%A8%E5%BA%93/" style="font-size: 1.3em; color: #99a1ac">实用库</a> <a href="/tags/%E6%8A%A5%E9%94%99/" style="font-size: 1.2em; color: #999da3">报错</a> <a href="/tags/%E7%88%AC%E8%99%AB/" style="font-size: 1.4em; color: #99a5b6">爬虫</a> <a href="/tags/%E8%99%9A%E6%8B%9F%E6%9C%BA/" style="font-size: 1.2em; color: #999da3">虚拟机</a></div></div><div class="card-widget card-archives"><div class="item-headline"><i class="fas fa-archive"></i><span>Archives</span></div><ul class="card-archive-list"><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2023/03/"><span class="card-archive-list-date">March 2023</span><span class="card-archive-list-count">1</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2023/02/"><span class="card-archive-list-date">February 2023</span><span class="card-archive-list-count">1</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2022/11/"><span class="card-archive-list-date">November 2022</span><span class="card-archive-list-count">9</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2022/10/"><span class="card-archive-list-date">October 2022</span><span class="card-archive-list-count">1</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2022/05/"><span class="card-archive-list-date">May 2022</span><span class="card-archive-list-count">2</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2022/03/"><span class="card-archive-list-date">March 2022</span><span class="card-archive-list-count">1</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2021/05/"><span class="card-archive-list-date">May 2021</span><span class="card-archive-list-count">2</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2021/01/"><span class="card-archive-list-date">January 2021</span><span class="card-archive-list-count">1</span></a></li></ul></div><div class="card-widget card-webinfo"><div class="item-headline"><i class="fas fa-chart-line"></i><span>Info</span></div><div class="webinfo"><div class="webinfo-item"><div class="item-name">Article :</div><div class="item-count">18</div></div><div class="webinfo-item"><div class="item-name">Run time :</div><div class="item-count" id="runtimeshow" data-publishDate="2021-01-29T16:00:00.000Z"></div></div><div class="webinfo-item"><div class="item-name">Total Count :</div><div class="item-count">25k</div></div><div class="webinfo-item"><div class="item-name">UV :</div><div class="item-count" id="busuanzi_value_site_uv"></div></div><div class="webinfo-item"><div class="item-name">PV :</div><div class="item-count" id="busuanzi_value_site_pv"></div></div><div class="webinfo-item"><div class="item-name">Last Push :</div><div class="item-count" id="last-push-date" data-lastPushDate="2023-03-23T12:07:04.078Z"></div></div></div></div></div></div></main><footer id="footer"><div id="footer-wrap"><div class="copyright">©2021 - 2023 By Nagisa</div><div class="framework-info"><span>Framework </span><a target="_blank" rel="noopener" href="https://hexo.io">Hexo</a><span class="footer-separator">|</span><span>Theme </span><a target="_blank" rel="noopener" href="https://github.com/jerryc127/hexo-theme-butterfly">Butterfly</a></div><div class="footer_custom_text">本博客中的所有文章均根据CC BY-NC-SA 4.0 《君子协议》 授权。</div><div id="running-time"><script>setInterval(()=>{let create_time=Math.round(new Date('2021-01-30 17:38:00').getTime()/1000);let timestamp=Math.round((new Date().getTime()+8*60*60*1000)/1000);let second=timestamp-create_time;let time=new Array(0,0,0,0,0);if(second>=365*24*3600){time[0]=parseInt(second/(365*24*3600));second%=365*24*3600;}if(second>=24*3600){time[1]=parseInt(second/(24*3600));second%=24*3600;}if(second>=3600){time[2]=parseInt(second/3600);second%=3600;}if(second>=60){time[3]=parseInt(second/60);second%=60;}if(second>0){time[4]=second;}currentTimeHtml='博客已经开始运行 '+time[0]+' 年 '+time[1]+' 天 '+time[2]+' 时 '+time[3]+' 分 '+time[4]+' 秒';document.getElementById("running-time").innerHTML=currentTimeHtml;},1000);</script></div></div></footer></div><div id="rightside"><div id="rightside-config-hide"><button id="darkmode" type="button" title="Toggle Between Light And Dark Mode"><i class="fas fa-adjust"></i></button><button id="hide-aside-btn" type="button" title="Toggle between single-column and double-column"><i class="fas fa-arrows-alt-h"></i></button></div><div id="rightside-config-show"><button id="rightside_config" type="button" title="Setting"><i class="fas fa-cog fa-spin"></i></button><button id="go-up" type="button" title="Back To Top"><i class="fas fa-arrow-up"></i></button></div></div><div id="local-search"><div class="search-dialog"><nav class="search-nav"><span class="search-dialog-title">Search</span><span id="loading-status"></span><button class="search-close-button"><i class="fas fa-times"></i></button></nav><div class="is-center" id="loading-database"><i class="fas fa-spinner fa-pulse"></i><span> Loading the Database</span></div><div class="search-wrap"><div id="local-search-input"><div class="local-search-box"><input class="local-search-box--input" placeholder="Search for Posts" type="text"/></div></div><hr/><div id="local-search-results"></div></div></div><div id="search-mask"></div></div><div><script src="/js/utils.js"></script><script src="/js/main.js"></script><script src="https://fastly.jsdelivr.net/npm/@fancyapps/ui/dist/fancybox.umd.js"></script><script src="/js/search/local-search.js"></script><div class="js-pjax"><script>function subtitleType () {
if (true) {
window.typed = new Typed("#subtitle", {
strings: ["活在当下","Living in the moment","意志力MAX","Will Power MAX","相信着胸口的跳动","胸の鼓動を信じて"],
startDelay: 300,
typeSpeed: 150,
loop: true,
backSpeed: 50
})
} else {
document.getElementById("subtitle").innerHTML = '活在当下'
}
}
if (true) {
if (typeof Typed === 'function') {
subtitleType()
} else {
getScript('https://fastly.jsdelivr.net/npm/typed.js/lib/typed.min.js').then(subtitleType)
}
} else {
subtitleType()
}</script></div><script defer="defer" id="ribbon" src="https://fastly.jsdelivr.net/npm/butterfly-extsrc@1/dist/canvas-ribbon.min.js" size="150" alpha="0.6" zIndex="-1" mobile="false" data-click="true"></script><script async data-pjax src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script></div></body></html>