目录
urllib 爬虫
第1关:urllib基础
任务描述
第2关:urllib进阶
任务描述
requests 爬虫
第1关:requests 基础
任务描述
第2关:requests 进阶
任务描述
网页数据解析
第1关:XPath解析网页
任务描述
第2关:BeautifulSoup解析网页
任务描述
JSON数据解析
第1关:JSON解析
任务描述
爬虫实战——网页抓取及信息提取
第1关:利用URL获取超文本文件并保存至本地
任务描述
第2关:提取子链接
任务描述
第3关:网页数据分析
任务描述
urllib 爬虫
第1关:urllib基础
任务描述
本关任务:掌握 urlopen 函数的使用,完成一个简易的爬取程序。
import urllib.request
def request(url):
'''
一个参数
:param url:请求网址
:return:返回一个请求的字符串。编码为utf-8
'''
# *************** Begin *************** #
r=urllib.request.urlopen(url)
return r.read().decode('utf-8')
# *************** End ***************** #
第2关:urllib进阶
任务描述
本关任务:利用 Opener 方法,完成一个简易的爬取程序。
import urllib.request
import http.cookiejar
def request(url,headers):
'''
两个参数
:param url:统一资源定位符,请求网址
:param headers:请求头
:return:html
'''
# ***************** Begin ******************** #
cookie = http.cookiejar.CookieJar()
handler = urllib.request.HTTPCookieProcessor(cookie)
opener = urllib.request.build_opener(handler)
r= opener.open(url)
# ***************** End ******************** #
html = r.read().decode('utf-8')
return html
requests 爬虫
第1关:requests 基础
任务描述
本关任务:编写一个 requests 请求网页的程序。
import requests
def get_html(url):
'''
两个参数
:param url:统一资源定位符,请求网址
:param headers:请求头
:return:html
'''
# ***************** Begin ******************** #
# 补充请求头
headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/"
"537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}
# get请求网页
response = requests.get(url=url, headers=headers) # 模拟登录请求
response.encoding = "utf-8" # 定义编码
# 获取网页信息文本
html = response.text
# ***************** End ******************** #
return html
第2关:requests 进阶
任务描述
本关任务:使用 session 编写爬取网页的小程序。
import requests
def get_html(url):
'''
两个参数
:param url:统一资源定位符,请求网址
:param headers:请求头
:return html 网页的源码
:return sess 创建的会话
'''
# ***************** Begin ******************** #
# 补充请求头
headers={ 'User-Agent':'Mozilla/5.0 (Linux; Android 8.0.0; Pixel 2 XL Build/OPD1.170816.004) AppleWebKit/'
'537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Mobile Safari/537.36',
"Cookie":"BAIDUID=53B7CC4BFCDC39D2EF625C13D285429D:FG=1; BIDUPSID=53B7CC4BFCDC39D2EF625C13D285429D; "
"PSTM=1591665716; BD_UPN=12314753; BDUSS=2N2ajRYZnI2cVlZN1FRemlWNU9FV1lSZFM3SnZBS0dvRW44WFRCUTRWck1mUVpmR"
"VFBQUFBJCQAAAAAAAAAAAEAAAAoKJzNMTIyMzM4ODQ1uNW41QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
"AAAAAAAAAAAAMzw3l7M8N5eS; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; sug=3; sugstore=1; ORIGIN=0; bdime=0; "
"H_PS_PSSID=1456_31672_32139_31253_32046_32230_31708_32295_26350_22160; delPer=0; BD_CK_SAM=1; PSINO=6; "
"H_PS_645EC=3b86vFCd303Aw0wmqvkcAGpfxU4oXfwYcs6jRd1RnxihTsvhfqaVB%2BIoeBs; BDSVRTM=0"
}
# 创建Session, 并使用Session的get请求网页
sess = requests.session()
# 获取网页信息文本
response = sess.get(url,headers=headers)
response_home = sess.get(url=url)
html=response.text
# ****************** End ********************* #
return html, sess
网页数据解析
第1关:XPath解析网页
任务描述
本关任务:在 XPath 基础实训中,介绍了 XPath 的基础知识,本关需要使用 XPath 技术来编写解析网页的程序。
import urllib.request
from lxml import etree
def get_data(url):
'''
:param url: 请求地址
:return: None
'''
response=urllib.request.urlopen(url=url)
html=response.read().decode("utf-8")
# *************** Begin *************** #
parse = etree.HTML(html)
# 写入xpath路径
item_list = parse.xpath("//div[@class='left']/ul/li/span/a/text()")
#item_list = parse.xpath("/html/body/div[2]/div[1]/ul/li/span/a.text()")
# *************** End ***************** #
print(item_list)
第2关:BeautifulSoup解析网页
任务描述
本关任务:使用 BeautifulSoup 解析网页爬取古诗词的内容部分。
import requests
from bs4 import BeautifulSoup
def get_data(url, headers):
'''
两个参数
:param url:统一资源定位符,请求网址
:param headers:请求头
:return data:list类型的所有古诗内容
'''
# ***************** Begin ******************** #
response = requests.get(url, headers=headers)
response.encoding = "utf-8"
html = response.text
soup = BeautifulSoup(html, 'lxml')
data = soup.find('div', {'class': 'left'}).ul.find_all('li')
data = [i.p.text for i in data]
# ****************** end ********************* #
return data
JSON数据解析
第1关:JSON解析
任务描述
本关任务:编写一个能用 JSON 解析爬虫数据的小程序。
import urllib.request
from lxml import etree
import http.cookiejar
import json
def request_sess(url,headers):
cj=http.cookiejar.CookieJar()
opener=urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))
request = urllib.request.Request(url=url, headers=headers)
r=opener.open(fullurl=request)
html = r.read().decode('utf-8')
return html
def save_data(path):
'''
:param path: 文件保存路径
:return: 无
'''
url='http://127.0.0.1:8080/index'
headers={
'User-Agent':'Mozilla/5.0 (Linux; Android 8.0.0; Pixel 2 XL Build/OPD1.170816.004) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Mobile Safari/537.36'
}
# ********** Begin ************** #
json_str = request_sess(url,headers)
# 输出 JSON 数据中的 key 值为 code 对应的数据
b = json.loads(json_str)
print(b['code'])
# 将爬取下来的 JSON 数据保存到本地
with open(path,'w') as f:
json.dump(b,f)
# ********** End ************** #
爬虫实战——网页抓取及信息提取
第1关:利用URL获取超文本文件并保存至本地
任务描述
当我们想要在浏览器中打开一个网页时,需要在浏览器的地址栏中输入该网页的url
,例如在地址栏中输入百度搜索网站的首页url
:百度一下,你就知道 ,点击确认后,浏览器将向服务器发出一个对该网的请求;服务器端收到请求后,会返回该网页的超文本文件,浏览器收到服务器端发来的网页超文本文件后,对其进行解析,然后在窗口中显示该超文本文件对应的网页。如下图所示。
# -*- coding: utf-8 -*-
import urllib.request as req
import os
import hashlib
# 国防科技大学本科招生信息网中录取分数网页URL:
url = 'https://www.nudt.edu.cn/bkzs/xxgk/lqfs/index.htm' # 录取分数网页URL
def step1():
# 请按下面的注释提示添加代码,完成相应功能
#********** Begin *********#
# 1.将网页内容保存到data
x = req.urlopen(url)
date = x.read()
# 2.将data以二进制写模式写入以学号命名的 “nudt.txt” 文件:
with open('nudt.txt','wb') as f:
f.write(date)
#********** End **********#
第2关:提取子链接
任务描述
上一关我们学习了如何访问给定的网页并保存信息到本地,本关我们要从上一关访问的网页中提取出嵌套的url
地址,即实现子链接的提取。
# -*- coding: utf-8 -*-
import urllib.request as req
# 国防科技大学本科招生信息网中录取分数网页URL:
url = 'https://www.nudt.edu.cn/bkzs/xxgk/lqfs/index.htm' # 录取分数网页URL
webpage = req.urlopen(url) # 按照类文件的方式打开网页
data = webpage.read() # 一次性读取网页的所有数据
data = data.decode('utf-8') # 将byte类型的data解码为字符串(否则后面查找就要另外处理了)
def step2():
# 建立空列表urls,来保存子网页的url
urls = []
# 请按下面的注释提示添加代码,完成相应功能
#********** Begin *********#
# 从data中提取2014到2021每一年分数线子网站地址添加到urls列表中
for i in range(2014,2021+1):
string = f"{i}年录取分数统计"
index = data.find(string)
urls.insert(0,'https://www.nudt.edu.cn/bkzs/xxgk/lqfs/'+'"'+
data[index-133:index-133+36])
# #********** End **********#
return urls
第3关:网页数据分析
任务描述
下图是2016
年国防科技大学分数线的网页,在浏览器中我们可以看到,各省的最高分、最低分、平均分都整齐地排列自在表格中。一个网页的源代码时常有成百上千行,其中很多代码都是为了布局页面样式服务的,而我们时常关心的是网页上的数据,而并不关心样式代码。所以如何从冗长的网页源代码中提取我们关心的数据,是这一关我们将要一起学习和体验的内容。
# -*- coding: utf-8 -*-
import urllib.request as req
import re
# 国防科技大学本科招生信息网中2016年录取分数网页URL:
url = 'https://www.nudt.edu.cn/bkzs/xxgk/lqfs/6a4ee15ca795454083ed233f502b262b.htm'
webpage = req.urlopen(url) # 根据超链访问链接的网页
data = webpage.read() # 读取超链网页数据
data = data.decode('utf-8') # byte类型解码为字符串
# 获取网页中的第一个表格中所有内容:
table = re.findall(r'', data, re.S)
firsttable = table[0] # 取网页中的第一个表格
# 数据清洗,将表中的 ,\u3000,和空格号去掉
firsttable = firsttable.replace(' ', '')
firsttable = firsttable.replace('\u3000', '')
firsttable = firsttable.replace(' ', '')
def step3():
score = []
# 请按下面的注释提示添加代码,完成相应功能,若要查看详细html代码,可在浏览器中打开url,查看页面源代码。
#********** Begin *********#
# 1.按tr标签对获取表格中所有行,保存在列表rows中:
rows = re.findall(r'', firsttable, re.S)
# 2.迭代rows中的所有元素,获取每一行的td标签内的数据,并把数据组成item列表,将每一个item添加到scorelist列表:
count = 0
for i in rows:
count += 1
if count == 1 or count == 2:
continue
item = []
tds = re.findall(r'', i, re.S)
count2 = 0
for j in tds:
count2 += 1
p = re.findall(r'', j, re.S)
if count2 == 1:
sf = re.search(r'[\u4e00-\u9fa5]+', p[0]).group(0)
item.append(sf)
elif count2 == 8:
break
else:
try:
fs = re.search(r'[1-9]\d*', p[0]).group(0)
item.append(fs)
except:
item.append('/')
# 3.将由省份,分数组成的8元列表(分数不存在的用/代替)作为元素保存到新列表score中,不要保存多余信息
score.append(item)
#********** End **********#
return score
你可能感兴趣的:(头歌答案合集,爬虫,头歌,css,python,html)
pandas(02 pandas基本功能和描述性统计)
twilight ember
pandas python 开发语言
前面内容:pandas(01入门)目录一、PythonPandas基本功能1.1Series基本功能1.2DataFrame基本功能二、PythonPandas描述性统计2.1常用函数*2.2汇总数据(describe)*一、PythonPandas基本功能到目前为止,我们已经学习了三种Pandas数据结构以及如何创建它们。我们将主要关注DataFrame对象,因为它在实时数据处理中非常重要,并讨
工控网络安全学习路线
206333308
安全
一、基础技能编程语言:从汇编语言开始学习,了解底层机器指令和内存管理等基础知识。接着学习C/C++,掌握面向过程和面向对象编程的基本概念和技术,为后续的漏洞挖掘和底层分析打下基础。最后学习Python,它在安全领域应用广泛,可用于自动化脚本编写、漏洞扫描和数据分析等。《计算机网络原理》:掌握网络通信的基本原理,包括OSI七层模型、TCP/IP协议栈、IP地址分配、子网掩码等。了解网络拓扑结构、路由
2025年——【寒假】自学黑客计划(网络安全)
网安CILLE
web安全 网络 安全 网络安全 linux
CSDN大礼包:基于入门网络安全/黑客打造的:黑客&网络安全入门&进阶学习资源包前言什么是网络安全网络安全可以基于攻击和防御视角来分类,我们经常听到的“红队”、“渗透测试”等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。如何成为一名黑客很多朋友在学习安全方面都会半路转行,因为不知如何去学,在这里,我将这个整份答案分为黑客(网络安全)入门必备、黑客(网络安全)职业指南、黑客
大数据知识图谱之深度学习——基于BERT+LSTM+CRF深度学习识别模型医疗知识图谱问答可视化系统_bert+lstm
2301_76348014
程序员 深度学习 大数据 知识图谱
文章目录大数据知识图谱之深度学习——基于BERT+LSTM+CRF深度学习识别模型医疗知识图谱问答可视化系统一、项目概述二、系统实现基本流程三、项目工具所用的版本号四、所需要软件的安装和使用五、开发技术简介Django技术介绍Neo4j数据库Bootstrap4框架Echarts简介NavicatPremium15简介Layui简介Python语言介绍MySQL数据库深度学习六、核心理论贪心算法A
Python的垃圾回收机制,详解Python的GC体系
李云龙炮击平安线程
python 系统架构 面试 跳槽 后端 架构
什么是垃圾回收?为什么需要垃圾回收?垃圾回收即Garbagecollection简称为GC,是Python,Java等高级语言所使用的内存回收机制,由虚拟机帮助我们管理内存,让它自动把我们去追踪和回收内存中的对象。没有作用的对象就是垃圾,虚拟机就是扫地机器人,在某个时机自动帮我们清除垃圾。区别于C和C++这种让用户自己进行内存管理的方式,由虚拟机代用户管理内存。让用户自己进行内存管理的方式固然自由
自动化办公|xlwings 数据类型和转换
游客520
自动化 实用代码 python全栈学习 自动化 运维 python
xlwings数据类型和转换:Python与Excel的桥梁在使用xlwings进行Python和Excel数据交互时,理解两者之间的数据类型对应关系至关重要。本篇将详细介绍Python数据类型与Excel数据类型的对应关系,以及如何进行数据类型转换。一、Python数据类型与Excel数据类型的对应关系Python数据类型Excel数据类型说明int数字整数float数字浮点数str文本字符串b
【K8S系列】Kubernetes 集群中的网络常见面试题
颜淡慕潇
K8S系列 深入解析K8S 网络 kubernetes 云原生 集群网络
在Kubernetes面试中,网络是一个重要的主题。理解Kubernetes网络模型、服务发现、网络策略等概念对候选人来说至关重要。以下是一些常见的Kubernetes网络面试题及其答案,帮助你准备面试。1.Kubernetes的网络模型是什么样的?问题:Kubernetes的网络模型是怎样的?答案:Kubernetes网络模型遵循“每个Pod都有一个唯一的IP地址”的原则。每个Pod都可以直接通
给Kkfileview加请求头鉴权接入
qq_41369135
okhttp kkfileview
所有接入前端token放localStorage,或者后端cookie中获取鉴权本案例以放localStorage为例一、创建global.js$(document).ready(function(){//设置全局的AJAX请求头$.ajaxSetup({headers:{'Authentication':localStorage.getItem('Authentication')}});});二
使用JavaScript设计一款简单的数字时钟
布啦啦李
javascript 时钟
本文目录使用JavaScript设计一款带日期显示的数字时钟效果预览1.项目概述2.HTML结构代码说明3.CSS样式代码说明4.JavaScript逻辑代码说明5.运行效果使用JavaScript设计一款带日期显示的数字时钟本文将详细介绍如何使用HTML、CSS和JavaScript设计一款带日期显示的数字时钟。我们将逐步讲解每一行代码的作用,帮助你理解如何实现一个实时更新的时钟,并扩展功能以显
拉格朗日插值
一条大祥脚
算法
你如果能确定一个问题答案一定是一个多项式形式,那么你可以先暴力求出来几个点的解,带入,把这个多项式的系数求出来,接下来给出自变量的话,你直接往这个式子里带入就能得到答案了。具体的原理就是oiwiki上的这个过程这里需要注意的是,对于一个最高次为k的多项式,至少需要k+1个不同的点才能确定全部系数。求系数的过程暴力是O(n2)O(n^2)O(n2)的,这要求我们多项式次数不能太大。不过对于连续的数据
python如何解压缩文件或文件夹
游客520
实用代码 python全栈学习 python
在日常开发或数据处理工作中,我们经常需要对文件或文件夹进行压缩和解压缩操作。Python提供了强大的内置模块,如zipfile和shutil,可以帮助我们高效地完成这些任务。本文将介绍如何使用Python对文件夹或文件进行压缩和解压缩,内容包括两种常见方式:zipfile和shutil,并提供完整代码示例。压缩文件或文件夹1.使用zipfile模块压缩文件夹zipfile模块是Python标准库的
Python 爬虫验证码识别
acheding
python python 爬虫 ocr
在我们进行爬虫的过程中,经常会碰到有些网站会时不时弹出来验证码识别。我们该如何解决呢?这里分享2种我尝试过的方法。0.验证码示例1.OpenCV+pytesseract使用Python中的OpenCV库进行图像预处理(边缘保留滤波、灰度化、二值化、形态学操作和逻辑运算),然后结合pytesseract进行文字识别。pytesseract需要配合安装在本地的tesseract-ocr.exe文件一起
【Python实用技巧】爬取数据保存到Excel中
「已注销」
python python 爬虫 开发语言
嗨嗨,大家好~今天来给你们分享一个小技巧如何用python爬取数据保存到Excel中话不多说,马上开始需要源码、教程,或者是自己有关python不懂的问题,都可以来这里哦https://jq.qq.com/?_wv=1027&k=s5bZE0K3这里还有学习资料与免费课程领取开发工具Python版本:3.6相关模块:importrequestsfromlxmlimportetreeimportti
Python爬取小说保存为Excel
不知所云975
python
本代码以实际案例介绍,爬取‘笔趣阁最新小说‘列表保存为表格文件。类封装以及网络爬虫以及openpyxl模块可以参考学习。#更新小说目录importrequestsfromlxmlimportetreeimportopenpyxlfromopenpyxl.stylesimportFont,Alignment,Side,Border,PatternFill#定义下载表格的类classDown_exce
python 爬取图片并保存到excel_python制作爬虫并将抓取结果保存到excel中
weixin_39778582
python 爬取图片并保存到excel
学习Python也有一段时间了,各种理论知识大体上也算略知一二了,今天就进入实战演练:通过Python来编写一个拉勾网薪资调查的小爬虫。第一步:分析网站的请求过程我们在查看拉勾网上的招聘信息的时候,搜索Python,或者是PHP等等的岗位信息,其实是向服务器发出相应请求,由服务器动态的响应请求,将我们所需要的内容通过浏览器解析,呈现在我们的面前。可以看到我们发出的请求当中,FormData中的kd
python爬取的数据保存到表格中_利用Python爬取的数据存入Excel表格
weixin_39608063
分析要爬取的内容的网页结构:demo.py:importrequests#requests是HTTP库importrefromopenpyxlimportworkbook#写入Excel表所用fromopenpyxlimportload_workbook#读取Excel表所用frombs4importBeautifulSoupasbs#bs:通过解析文档为用户提供需要抓取的数据importosim
python爬取天眼查存入excel表格_python爬取企查查江苏企业信息生成excel表格
吴寿鹤
1.前期准备具体请查看上一篇2.准备库requests,BeautifulSoup,xlwt,lxml1.BeautifulSoup:是专业的网页爬取库,方便抓取网页信息2.xlwt:生成excel表格3.lxml:xml解析库3.具体思路企查查网站具有一定的反爬机制,直接爬取会受到网站阻拦,所以我们需要模拟浏览器请求,绕过反爬机制,打开企查查网站,获取cookie及一系列请求头文件,然后使用Be
学会Python3模拟登录并爬取表格数据!excel高手也自叹不如!
m0_60635321
2024年程序员学习 excel python 爬虫
先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!因此收集整理了一份《2024年最新Python全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课
使用 Python 将爬取的内容保存到 Excel 表格
木觞清
python excel 开发语言
在数据爬取的过程中,很多时候我们需要将爬取到的内容保存到Excel表格中,以便进一步处理、分析和可视化。Python提供了强大的库来实现这一功能,常用的有requests、BeautifulSoup用于网页内容的爬取,以及pandas、openpyxl用于将数据保存到Excel文件。本文将带你一步步完成从爬取数据到保存到Excel文件的整个过程。1.安装必要的库首先,你需要安装一些Python库。
Python学习心得字符串的去重操作
lifegoesonwjl
python 开发语言 pycharm
一个字符串中可能包含许多相同的元素,为了保证字符串中的唯一性,下面介绍的是字符串的去重操作:第一种方式:利用for+if的结构进行去重这个程序是对字符串中的每个元素进行判断,如果不在新建的空字符串中就把该元素添加进来,否则就直接忽略过去。s='helloworldhelloworldhelloworld'new_s=''foritemins:ifitemnotinnew_s:new_s+=item
使用Python实现深度学习模型:知识蒸馏与模型压缩
Echo_Wish
Python 笔记 从零开始学Python人工智能 Python算法 python 深度学习 开发语言
在深度学习领域,模型的大小和计算复杂度常常是一个挑战。知识蒸馏(KnowledgeDistillation)和模型压缩(ModelCompression)是两种有效的技术,可以在保持模型性能的同时减少模型的大小和计算需求。本文将详细介绍如何使用Python实现这两种技术。目录引言知识蒸馏概述模型压缩概述实现步骤数据准备教师模型训练学生模型训练(知识蒸馏)模型压缩代码实现结论1.引言在实际应用中,深
深度学习框架探秘|TensorFlow vs PyTorch:AI 框架的巅峰对决
紫雾凌寒
智启前沿:AI 洞察・创未来 人工智能 深度学习 tensorflow pytorch ai
在深度学习框架中,TensorFlow和PyTorch无疑是两大明星框架。前面两篇文章我们分别介绍了TensorFlow(点击查看)和PyTorch(点击查看)。它们引领着AI开发的潮流,吸引着无数开发者投身其中。但这两大框架究竟谁更胜一筹?是TensorFlow的全面与稳健,还是PyTorch的灵活与便捷?让我们一同深入剖析,探寻答案。在深度学习框架中,TensorFlow和PyTorch无疑是
来看看爬虫合不合法
度假的小鱼
Python基础 爬虫 搜索引擎 python
活动地址:CSDN21天学习挑战赛文章目录一、爬虫合不合法二、什么是爬虫三、爬虫的分类四、为什么学网络爬虫一、爬虫合不合法随着Python在最近几年的流行,Python中的爬虫也逐渐进入到大家的视野中,但是很多小伙伴,还是在担心爬虫的合法性。今天就来和大家一起讨论一下爬虫的合法性。大家可能在网上看到很多有关程序员写爬虫被抓这样的新闻只因写了一段爬虫,公司200多人被抓!爬虫的本身是合法的,但是如何
Linux上Scapy完全指南:从入门到实战攻防
和舒貌
linux 信息与通信 网络安全 安全
Linux上Scapy完全指南:从入门到实战攻防目录Scapy简介与核心优势Linux环境安装与配置Scapy基础操作高级功能与协议分析实战案例:网络诊断与安全审计性能优化与调试技巧常见问题解答一、Scapy简介与核心优势1.1什么是Scapy?Scapy是一款基于Python的交互式数据包操作工具,能够构造、发送、捕获和分析网络协议数据包。其核心特点包括:支持超过800种协议(如TCP/IP、H
《爬虫写得好,铁窗关到老,做了5年Python
code高级开源
2024年程序员学习 爬虫 python 开发语言
**我的使命与愿景:**持续稳定输出,赋能中国技术社区蓬勃发展!最近的IT公司违法案件越来越多,看了很多因为爬虫,数字货币,博彩网站外包等被抓的事情,给大家提个醒,打工注意不能违法,写代码背后也有法律风险。一、什么是爬虫?通过爬虫代码,下载互联网上的数据到本地,并且提取出我们需要的信息的过程。二、典型违法案例典型案例(一):构成非法获取计算机信息系统数据罪张某等非法获取计算机信息系统数据案(上海市
Python面试题:解释一下什么是 Python 的 GIL(全局解释器锁)
杰哥在此
Python系列 python 开发语言
Python的GIL(GlobalInterpreterLock,全局解释器锁)是CPython解释器中的一个机制,它限制了在任何给定的时刻只有一个线程能够执行Python字节码。这意味着,即使在多核处理器上,Python程序也不能通过多线程实现真正的并行执行。GIL的背景GIL是由CPython解释器实现的,它是为了简化内存管理而引入的。Python中的对象管理(特别是引用计数)不是线程安全的,
DPlayer + vue3 使用
是晓周哦
javascript vue.js 前端 视频 typescript
帮助文档https://dplayer.diygod.dev/zh/guide.html#special-thanks安装pnpminstalldplayer--savepnpminstall@types/dplayer--save-dev使用方法import{ref,onMounted,onBeforeUnmount}from'vue';importDPlayerfrom'dplayer';im
LeetCode Hot100刷题——全排列
圈圈编码
leetcode 算法 数据结构
46.全排列给定一个不含重复数字的数组nums,返回其所有可能的全排列。你可以按任意顺序返回答案。示例1:输入:nums=[1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例2:输入:nums=[0,1]输出:[[0,1],[1,0]]示例3:输入:nums=[1]输出:[[1]]提示:1>permute(int[]nums){
qt 使用qss控制界面外观
yaofei2006
qt 开发语言 ui
在Qt中,QSS(QtStyleSheets)是一种基于CSS(CascadingStyleSheets)的样式表语言,用于自定义Qt应用程序的外观。通过QSS,你可以轻松地修改控件的颜色、字体、边框、背景等属性,而无需修改代码。以下是使用QSS的详细指南:1.基本语法QSS的语法与CSS类似,由选择器和声明块组成:选择器{属性:值;属性:值;}示例QPushButton{background-c
Day47(补)【软考】2022年下半年软考软件设计师综合知识真题-计算机软件知识2
一个一定要撑住的学习者
# 软件设计师 算法
文章目录2022年下半年软考软件设计师综合知识真题第1章计算机系统基础知识(18/38)计算机软件知识2-6/6(其中一个做过)哲学概念及收敛思维:分母为0的故障哲学分类,考事务故障集合除数为零是否属于事务故障?哲学概念及收敛思维:Python3列表截取[max,min,-n]的哲学理解,输入-,考集合排列从大到小,range和list输入,考结束值min不在集合中哲学概念及收敛思维:**栈帧的核
桌面上有多个球在同时运动,怎么实现球之间不交叉,即碰撞?
换个号韩国红果果
html 小球碰撞
稍微想了一下,然后解决了很多bug,最后终于把它实现了。其实原理很简单。在每改变一个小球的x y坐标后,遍历整个在dom树中的其他小球,看一下它们与当前小球的距离是否小于球半径的两倍?若小于说明下一次绘制该小球(设为a)前要把他的方向变为原来相反方向(与a要碰撞的小球设为b),即假如当前小球的距离小于球半径的两倍的话,马上改变当前小球方向。那么下一次绘制也是先绘制b,再绘制a,由于a的方向已经改变
《高性能HTML5》读后整理的Web性能优化内容
白糖_
html5
读后感
先说说《高性能HTML5》这本书的读后感吧,个人觉得这本书前两章跟书的标题完全搭不上关系,或者说只能算是讲解了“高性能”这三个字,HTML5完全不见踪影。个人觉得作者应该首先把HTML5的大菜拿出来讲一讲,再去分析性能优化的内容,这样才会有吸引力。因为只是在线试读,没有机会看后面的内容,所以不胡乱评价了。
[JShop]Spring MVC的RequestContextHolder使用误区
dinguangx
jeeshop 商城系统 jshop 电商系统
在spring mvc中,为了随时都能取到当前请求的request对象,可以通过RequestContextHolder的静态方法getRequestAttributes()获取Request相关的变量,如request, response等。 在jshop中,对RequestContextHolder的
算法之时间复杂度
周凡杨
java 算法 时间复杂度 效率
在
计算机科学 中,
算法 的时间复杂度是一个
函数 ,它定量描述了该算法的运行时间。这是一个关于代表算法输入值的
字符串 的长度的函数。时间复杂度常用
大O符号 表述,不包括这个函数的低阶项和首项系数。使用这种方式时,时间复杂度可被称为是
渐近 的,它考察当输入值大小趋近无穷时的情况。
这样用大写O()来体现算法时间复杂度的记法,
Java事务处理
g21121
java
一、什么是Java事务 通常的观念认为,事务仅与数据库相关。 事务必须服从ISO/IEC所制定的ACID原则。ACID是原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability)的缩写。事务的原子性表示事务执行过程中的任何失败都将导致事务所做的任何修改失效。一致性表示当事务执行失败时,所有被该事务影响的数据都应该恢复到事务执行前的状
Linux awk命令详解
510888780
linux
一. AWK 说明
awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。
awk的处理文本和数据的方式:它逐行扫描文件,从第一行到
android permission
布衣凌宇
Permission
<uses-permission android:name="android.permission.ACCESS_CHECKIN_PROPERTIES" ></uses-permission>允许读写访问"properties"表在checkin数据库中,改值可以修改上传
<uses-permission android:na
Oracle和谷歌Java Android官司将推迟
aijuans
java oracle
北京时间 10 月 7 日,据国外媒体报道,Oracle 和谷歌之间一场等待已久的官司可能会推迟至 10 月 17 日以后进行,这场官司的内容是 Android 操作系统所谓的 Java 专利权之争。本案法官 William Alsup 称根据专利权专家 Florian Mueller 的预测,谷歌 Oracle 案很可能会被推迟。 该案中的第二波辩护被安排在 10 月 17 日出庭,从目前看来
linux shell 常用命令
antlove
linux shell command
grep [options] [regex] [files]
/var/root # grep -n "o" *
hello.c:1:/* This C source can be compiled with:
Java解析XML配置数据库连接(DOM技术连接 SAX技术连接)
百合不是茶
sax技术 Java解析xml文档 dom技术 XML配置数据库连接
XML配置数据库文件的连接其实是个很简单的问题,为什么到现在才写出来主要是昨天在网上看了别人写的,然后一直陷入其中,最后发现不能自拔 所以今天决定自己完成 ,,,,现将代码与思路贴出来供大家一起学习
XML配置数据库的连接主要技术点的博客;
JDBC编程 : JDBC连接数据库
DOM解析XML: DOM解析XML文件
SA
underscore.js 学习(二)
bijian1013
JavaScript underscore
Array Functions 所有数组函数对参数对象一样适用。1.first _.first(array, [n]) 别名: head, take 返回array的第一个元素,设置了参数n,就
plSql介绍
bijian1013
oracle 数据库 plsql
/*
* PL/SQL 程序设计学习笔记
* 学习plSql介绍.pdf
* 时间:2010-10-05
*/
--创建DEPT表
create table DEPT
(
DEPTNO NUMBER(10),
DNAME NVARCHAR2(255),
LOC NVARCHAR2(255)
)
delete dept;
select
【Nginx一】Nginx安装与总体介绍
bit1129
nginx
启动、停止、重新加载Nginx
nginx 启动Nginx服务器,不需要任何参数u
nginx -s stop 快速(强制)关系Nginx服务器
nginx -s quit 优雅的关闭Nginx服务器
nginx -s reload 重新加载Nginx服务器的配置文件
nginx -s reopen 重新打开Nginx日志文件
spring mvc开发中浏览器兼容的奇怪问题
bitray
jquery Ajax springMVC 浏览器 上传文件
最近个人开发一个小的OA项目,属于复习阶段.使用的技术主要是spring mvc作为前端框架,mybatis作为数据库持久化技术.前台使用jquery和一些jquery的插件.
在开发到中间阶段时候发现自己好像忽略了一个小问题,整个项目一直在firefox下测试,没有在IE下测试,不确定是否会出现兼容问题.由于jquer
Lua的io库函数列表
ronin47
lua io
1、io表调用方式:使用io表,io.open将返回指定文件的描述,并且所有的操作将围绕这个文件描述
io表同样提供三种预定义的文件描述io.stdin,io.stdout,io.stderr
2、文件句柄直接调用方式,即使用file:XXX()函数方式进行操作,其中file为io.open()返回的文件句柄
多数I/O函数调用失败时返回nil加错误信息,有些函数成功时返回nil
java-26-左旋转字符串
bylijinnan
java
public class LeftRotateString {
/**
* Q 26 左旋转字符串
* 题目:定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。
* 如把字符串abcdef左旋转2位得到字符串cdefab。
* 请实现字符串左旋转的函数。要求时间对长度为n的字符串操作的复杂度为O(n),辅助内存为O(1)。
*/
pu
《vi中的替换艺术》-linux命令五分钟系列之十一
cfyme
linux命令
vi方面的内容不知道分类到哪里好,就放到《Linux命令五分钟系列》里吧!
今天编程,关于栈的一个小例子,其间我需要把”S.”替换为”S->”(替换不包括双引号)。
其实这个不难,不过我觉得应该总结一下vi里的替换技术了,以备以后查阅。
1
所有替换方案都要在冒号“:”状态下书写。
2
如果想将abc替换为xyz,那么就这样
:s/abc/xyz/
不过要特别
[轨道与计算]新的并行计算架构
comsci
并行计算
我在进行流程引擎循环反馈试验的过程中,发现一个有趣的事情。。。如果我们在流程图的每个节点中嵌入一个双向循环代码段,而整个流程中又充满着很多并行路由,每个并行路由中又包含着一些并行节点,那么当整个流程图开始循环反馈过程的时候,这个流程图的运行过程是否变成一个并行计算的架构呢?
重复执行某段代码
dai_lm
android
用handler就可以了
private Handler handler = new Handler();
private Runnable runnable = new Runnable() {
public void run() {
update();
handler.postDelayed(this, 5000);
}
};
开始计时
h
Java实现堆栈(list实现)
datageek
数据结构——堆栈
public interface IStack<T> {
//元素出栈,并返回出栈元素
public T pop();
//元素入栈
public void push(T element);
//获取栈顶元素
public T peek();
//判断栈是否为空
public boolean isEmpty
四大备份MySql数据库方法及可能遇到的问题
dcj3sjt126com
DB backup
一:通过备份王等软件进行备份前台进不去?
用备份王等软件进行备份是大多老站长的选择,这种方法方便快捷,只要上传备份软件到空间一步步操作就可以,但是许多刚接触备份王软件的客用户来说还原后会出现一个问题:因为新老空间数据库用户名和密码不统一,网站文件打包过来后因没有修改连接文件,还原数据库是好了,可是前台会提示数据库连接错误,网站从而出现打不开的情况。
解决方法:学会修改网站配置文件,大多是由co
github做webhooks:[1]钩子触发是否成功测试
dcj3sjt126com
github git webhook
转自: http://jingyan.baidu.com/article/5d6edee228c88899ebdeec47.html
github和svn一样有钩子的功能,而且更加强大。例如我做的是最常见的push操作触发的钩子操作,则每次更新之后的钩子操作记录都会在github的控制板可以看到!
工具/原料
github
方法/步骤
">的作用" target="_blank">JSP中 的作用
蕃薯耀
JSP中<base href="<%=basePath%>">的作用
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
linux下SAMBA服务安装与配置
hanqunfeng
linux
局域网使用的文件共享服务。
一.安装包:
rpm -qa | grep samba
samba-3.6.9-151.el6.x86_64
samba-common-3.6.9-151.el6.x86_64
samba-winbind-3.6.9-151.el6.x86_64
samba-client-3.6.9-151.el6.x86_64
samba-winbind-clients
guava cache
IXHONG
cache
缓存,在我们日常开发中是必不可少的一种解决性能问题的方法。简单的说,cache 就是为了提升系统性能而开辟的一块内存空间。
缓存的主要作用是暂时在内存中保存业务系统的数据处理结果,并且等待下次访问使用。在日常开发的很多场合,由于受限于硬盘IO的性能或者我们自身业务系统的数据处理和获取可能非常费时,当我们发现我们的系统这个数据请求量很大的时候,频繁的IO和频繁的逻辑处理会导致硬盘和CPU资源的
Query的开始--全局变量,noconflict和兼容各种js的初始化方法
kvhur
JavaScript jquery css
这个是整个jQuery代码的开始,里面包含了对不同环境的js进行的处理,例如普通环境,Nodejs,和requiredJs的处理方法。 还有jQuery生成$, jQuery全局变量的代码和noConflict代码详解 完整资源:
http://www.gbtags.com/gb/share/5640.htm jQuery 源码:
(
美国人的福利和中国人的储蓄
nannan408
今天看了篇文章,震动很大,说的是美国的福利。
美国医院的无偿入院真的是个好措施。小小的改善,对于社会是大大的信心。小孩,税费等,政府不收反补,真的体现了人文主义。
美国这么高的社会保障会不会使人变懒?答案是否定的。正因为政府解决了后顾之忧,人们才得以倾尽精力去做一些有创造力,更造福社会的事情,这竟成了美国社会思想、人
N阶行列式计算(JAVA)
qiuwanchi
N阶行列式计算
package gaodai;
import java.util.List;
/**
* N阶行列式计算
* @author 邱万迟
*
*/
public class DeterminantCalculation {
public DeterminantCalculation(List<List<Double>> determina
C语言算法之打渔晒网问题
qiufeihu
c 算法
如果一个渔夫从2011年1月1日开始每三天打一次渔,两天晒一次网,编程实现当输入2011年1月1日以后任意一天,输出该渔夫是在打渔还是在晒网。
代码如下:
#include <stdio.h>
int leap(int a) /*自定义函数leap()用来指定输入的年份是否为闰年*/
{
if((a%4 == 0 && a%100 != 0
XML中DOCTYPE字段的解析
wyzuomumu
xml
DTD声明始终以!DOCTYPE开头,空一格后跟着文档根元素的名称,如果是内部DTD,则再空一格出现[],在中括号中是文档类型定义的内容. 而对于外部DTD,则又分为私有DTD与公共DTD,私有DTD使用SYSTEM表示,接着是外部DTD的URL. 而公共DTD则使用PUBLIC,接着是DTD公共名称,接着是DTD的URL.
私有DTD
<!DOCTYPErootSYST