首页
畅所欲言
友情链接
壁纸大全
数据统计
推荐
工具箱
在线白板
Search
1
职教云小助手重构更新,职教云助手最新版下载地址【已和谐】
12,955 阅读
2
职教云-智慧职教,网课观看分析(秒刷网课)
10,635 阅读
3
gradle-5.4.1-all.zip下载
8,654 阅读
4
职教云-智慧职教,签到补签分析(逆天改命系列)
7,494 阅读
5
一个优秀的程序员从写文档开始:免费领14个月语雀云笔记会员
6,770 阅读
学习笔记
Web
Python
转载文章
算法刷题
JS逆向
综合笔记
安卓
物联网
Java
C
资源收集
软件收藏
网络资源
影视专辑
TED英语角
随便写写
随手拍
登录
/
注册
Search
Lan
累计撰写
619
篇文章
累计收到
591
条评论
首页
栏目
学习笔记
Web
Python
转载文章
算法刷题
JS逆向
综合笔记
安卓
物联网
Java
C
资源收集
软件收藏
网络资源
影视专辑
TED英语角
随便写写
随手拍
页面
畅所欲言
友情链接
壁纸大全
数据统计
推荐
工具箱
在线白板
搜索到
446
篇与
的结果
2020-03-28
python调用JS方法
接口测试过程中遇到了DES加密的问题,用PYTHON研究了好久都没成功,最后找前端要了des加密的js方法,于是就研究了一下操作步骤如下1、先安装 也可以PIP安装安装后代码如下import execjs def get_des_psswd(data, key): jsstr = get_js() ctx = execjs.compile(jsstr) #加载JS文件 return (ctx.call('strEnc', data, key)) #调用js方法 第一个参数是JS的方法名,后面的data和key是js方法的参数 def get_js(): f = open("./../lib/des.js", 'r', encoding='utf-8') # 打开JS文件 line = f.readline() htmlstr = '' while line: htmlstr = htmlstr+line line = f.readline() return htmlstr if __name__ == '__main__': print(get_des_psswd('123456', 'RUY2OTdCRUFFRTg0OUQ0Q0E0ODNDRDMxN0YzOEEzREQudG9tY2F0OTQ='))
2020年03月28日
992 阅读
0 评论
0 点赞
2020-03-27
【爬虫】python爬取MSDN站所有P2P下载链接
今日,msdn的新网站开放注册,然后体验了一波,发现要强制观看30S的广告才可以下载,因此就想提前把资源爬取下来以便后用。先来看下成果:1,网站分析1.1通过直接爬取:https://msdn.itellyou.cn/,可以获得8个ID,对应着侧边栏的八个分类1.2没展开一个分类,会发送一个POST请求传递的就是之前获取的8个ID之一1.3查看这个请求的返回值,可以看到又获得一个ID,以及对应的资源名称。1.4点击,展开一个资源可以发现,又多了两个POST请求1.4.1第一个GETLang,经分析大概意思就是,获取资源的语言,然后这个请求也发送了一个ID,然后在返回值中又获得一个ID,这就是后文中的lang值1.4.2第二个GetList,这个传递了三个参数:(1)ID:经对比可发现这个ID就是我们之前一直在用的ID。(2)lang,我后来才发现是language的缩写,就是语言的意思,我们从第一个GetLang的返回值可以获取,这个lang值。(3)filter,翻译成中文就是过滤器的意思,对应图片坐下角的红色框框内是否勾选。1.4.3到这里就以及在返回值中获得了下载地址了:综上就是分析过程。然后就开始敲代码了2,为了追求速度,选择了Scrapy框架。然后代码自己看吧。爬虫.py:# -*- coding: utf-8 -*- import json import scrapy from msdn.items import MsdnItem class MsdndownSpider(scrapy.Spider): name = 'msdndown' allowed_domains = ['msdn.itellyou.cn'] start_urls = ['http://msdn.itellyou.cn/'] def parse(self, response): self.index = [i for i in response.xpath('//h4[@class="panel-title"]/a/@data-menuid').extract()] # self.index_title = [i for i in response.xpath('//h4[@class="panel-title"]/a/text()').extract()] url = 'https://msdn.itellyou.cn/Category/Index' for i in self.index: yield scrapy.FormRequest(url=url, formdata={'id': i}, dont_filter=True, callback=self.Get_Lang, meta={'id': i}) def Get_Lang(self, response): id_info = json.loads(response.text) url = 'https://msdn.itellyou.cn/Category/GetLang' for i in id_info: # 遍历软件列表 lang = i['id'] # 软件ID title = i['name'] # 软件名 # 进行下一次爬取,根据lang(语言)id获取软件语言ID列表 yield scrapy.FormRequest(url=url, formdata={'id': lang}, dont_filter=True, callback=self.Get_List, meta={'id': lang, 'title': title}) def Get_List(self, response): lang = json.loads(response.text)['result'] id = response.meta['id'] title = response.meta['title'] url = 'https://msdn.itellyou.cn/Category/GetList' # 如果语言为空则跳过,否则进行下次爬取下载地址 if len(lang) != 0: # 遍历语言列表ID for i in lang: data = { 'id': id, 'lang': i['id'], 'filter': 'true' } yield scrapy.FormRequest(url=url, formdata=data, dont_filter=True, callback=self.Get_Down, meta={'name': title, 'lang': i['lang']}) else: pass def Get_Down(self, response): response_json = json.loads(response.text)['result'] item = MsdnItem() for i in response_json: item['name'] = i['name'] item['url'] = i['url'] print(i['name'] + "--------------" + i['url']) # 测试输出,为了运行时不太无聊 return itemitems.py:# -*- coding: utf-8 -*- # Define here the models for your scraped items # # See documentation in: # https://docs.scrapy.org/en/latest/topics/items.html import scrapy class MsdnItem(scrapy.Item): # define the fields for your item here like: name = scrapy.Field() url = scrapy.Field()settings.py:# -*- coding: utf-8 -*- # Scrapy settings for msdn project # # For simplicity, this file contains only settings considered important or # commonly used. You can find more settings consulting the documentation: # # https://docs.scrapy.org/en/latest/topics/settings.html # https://docs.scrapy.org/en/latest/topics/downloader-middleware.html # https://docs.scrapy.org/en/latest/topics/spider-middleware.html BOT_NAME = 'msdn' SPIDER_MODULES = ['msdn.spiders'] NEWSPIDER_MODULE = 'msdn.spiders' # Crawl responsibly by identifying yourself (and your website) on the user-agent # USER_AGENT = 'msdn (+http://www.yourdomain.com)' # Obey robots.txt rules ROBOTSTXT_OBEY = False # Configure maximum concurrent requests performed by Scrapy (default: 16) # CONCURRENT_REQUESTS = 32 # Configure a delay for requests for the same website (default: 0) # See https://docs.scrapy.org/en/latest/topics/settings.html#download-delay # See also autothrottle settings and docs DOWNLOAD_DELAY = 0.1 # The download delay setting will honor only one of: # CONCURRENT_REQUESTS_PER_DOMAIN = 16 # CONCURRENT_REQUESTS_PER_IP = 16 # Disable cookies (enabled by default) # COOKIES_ENABLED = False # Disable Telnet Console (enabled by default) # TELNETCONSOLE_ENABLED = False # Override the default request headers: DEFAULT_REQUEST_HEADERS = { 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language': 'en', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36' } # Enable or disable spider middlewares # See https://docs.scrapy.org/en/latest/topics/spider-middleware.html # SPIDER_MIDDLEWARES = { # 'msdn.middlewares.MsdnSpiderMiddleware': 543, # } # Enable or disable downloader middlewares # See https://docs.scrapy.org/en/latest/topics/downloader-middleware.html # DOWNLOADER_MIDDLEWARES = { # 'msdn.middlewares.MsdnDownloaderMiddleware': 543, # } # Enable or disable extensions # See https://docs.scrapy.org/en/latest/topics/extensions.html # EXTENSIONS = { # 'scrapy.extensions.telnet.TelnetConsole': None, # } # Configure item pipelines # See https://docs.scrapy.org/en/latest/topics/item-pipeline.html ITEM_PIPELINES = { 'msdn.pipelines.MsdnPipeline': 300, } # Enable and configure the AutoThrottle extension (disabled by default) # See https://docs.scrapy.org/en/latest/topics/autothrottle.html # AUTOTHROTTLE_ENABLED = True # The initial download delay # AUTOTHROTTLE_START_DELAY = 5 # The maximum download delay to be set in case of high latencies # AUTOTHROTTLE_MAX_DELAY = 60 # The average number of requests Scrapy should be sending in parallel to # each remote server # AUTOTHROTTLE_TARGET_CONCURRENCY = 1.0 # Enable showing throttling stats for every response received: # AUTOTHROTTLE_DEBUG = False # Enable and configure HTTP caching (disabled by default) # See https://docs.scrapy.org/en/latest/topics/downloader-middleware.html#httpcache-middleware-settings # HTTPCACHE_ENABLED = True # HTTPCACHE_EXPIRATION_SECS = 0 # HTTPCACHE_DIR = 'httpcache' # HTTPCACHE_IGNORE_HTTP_CODES = [] # HTTPCACHE_STORAGE = 'scrapy.extensions.httpcache.FilesystemCacheStorage'pipelines.py:# -*- coding: utf-8 -*- # Define your item pipelines here # # Don't forget to add your pipeline to the ITEM_PIPELINES setting # See: https://docs.scrapy.org/en/latest/topics/item-pipeline.html class MsdnPipeline(object): def __init__(self): self.file = open('msdnc.csv', 'a+', encoding='utf8') def process_item(self, item, spider): title = item['name'] url = item['url'] self.file.write(title + '*' + url + ' ') def down_item(self, item, spider): self.file.close()main.py(启动文件):from scrapy.cmdline import execute execute(['scrapy', 'crawl', 'msdndown'])3,成品打包地址点击进入:csdn密码:lan666|大小:60kb已经过安全软件检测无毒,请您放心下载。
2020年03月27日
1,602 阅读
2 评论
0 点赞
2020-03-26
试题 算法提高 不同单词个数统计
资源限制时间限制:1.0s 内存限制:512.0MB问题描述 编写一个程序,输入一个句子,然后统计出这个句子当中不同的单词个数。例如:对于句子“one little two little three little boys”,总共有5个不同的单词:one, little, two, three, boys。 说明:(1)由于句子当中包含有空格,所以应该用gets函数来输入这个句子;(2)输入的句子当中只包含英文字符和空格,单词之间用一个空格隔开;(3)不用考虑单词的大小写,假设输入的都是小写字符;(4)句子长度不超过100个字符。 输入格式:输入只有一行,即一个英文句子。 输出格式:输出只有一行,是一个整数,表示句子中不同单词的个数。输入输出样例样例输入one little two little three little boys样例输出5提交代码import java.util.*; public class 不同单词个数统计 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); String x = sc.nextLine(); //将字符串根据空格分隔成字符串数组 String[] str = x.split(" "); //创建一个列表,用来储存结果 List<String> result = new ArrayList<String>(); for (int i = 0; i < str.length; i++) { //如果结果列表中不包含str[i]则加到结果列表 if (!result.contains(str[i])) { result.add(str[i]); } } //输出结果列表大小 System.out.println(result.size()); } }
2020年03月26日
1,102 阅读
0 评论
0 点赞
2020-03-26
试题 算法提高 11-2删除重复元素
资源限制时间限制:10.0s 内存限制:256.0MB问题描述 为库设计新函数DelPack,删除输入字符串中所有的重复元素。不连续的重复元素也要删除。 要求写成函数,函数内部使用指针操作。样例输入1223445667889样例输出13579样例输入else样例输出ls数据规模和约定 字符串数组最大长度为100。import java.util.*; public class 删除重复元素 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); String x = sc.next(); StringBuilder result = new StringBuilder(); for (int i = 0; i < x.length(); i++) { char a = x.charAt(i); boolean flag = true; for (int j = 0; j < x.length(); j++) { char b = x.charAt(j); if (j==i) { continue; } if (a==b) { flag=false; break; } } if (flag) { result.append(a); } } System.out.println(result.toString()); } }
2020年03月26日
1,010 阅读
0 评论
0 点赞
2020-03-26
Eclipse设置代码提示
点击window,点击Preferences双击箭头所示位置将这里的“.”更改为.abcdefghijklmnopqrstuvwxyz 这个的意思就是输入键盘上的每一个字母都会提示代码,本来只有一个点,只有输入点的时候才会提示
2020年03月26日
883 阅读
0 评论
0 点赞
2020-03-25
试题 算法训练 数组查找及替换
资源限制时间限制:1.0s 内存限制:512.0MB问题描述 给定某整数数组和某一整数b。要求删除数组中可以被b整除的所有元素,同时将该数组各元素按从小到大排序。如果数组元素数值在A到Z的ASCII之间,替换为对应字母。元素个数不超过100,b在1至100之间。输入格式 第一行为数组元素个数和整数b 第二行为数组各个元素输出格式 按照要求输出样例输入7 2 77 11 66 22 44 33 55样例输出11 33 55 M提交代码编译语言:C++CJavaPythonimport java.util.*; public class 数组查找及替换 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int m = sc.nextInt(); List<Integer> list = new ArrayList<Integer>(); for (int i = 0; i < n; i++) { int x = sc.nextInt(); if (x%m!=0) { list.add(x); } } Collections.sort(list); for (int i = 0; i < list.size(); i++) { int x = list.get(i); if (x>=65&&x<=90) { System.out.print((char)x+" "); }else { System.out.print(x+" "); } } } }
2020年03月25日
970 阅读
0 评论
0 点赞
2020-03-25
试题 算法训练 5-1最小公倍数
资源限制时间限制:1.0s 内存限制:256.0MB问题描述 编写一函数lcm,求两个正整数的最小公倍数。样例输入一个满足题目要求的输入范例。例:3 5样例输出与上面的样例输入对应的输出。例:提交代码
2020年03月25日
725 阅读
0 评论
0 点赞
1
...
54
55
56
...
64