url

BOM解读

醉酒当歌 提交于 2020-03-15 23:26:52
BOM解读 BOM概念 - browser object model:浏览器对象模型 bom相当于提供了一套操作浏览器的方法。(windw是顶级对象) BOM的操作方法:(这里只列举比较常用) navigator: (包含有浏览器的信息) //以前用来兼容,目前没多大用处,了解即可 appName //浏览器名称 appCodeName //浏览器的代码名(内核) appVersion //浏览器的平台与版本 userAgent //浏览器的整体信息 location:(包含有关当前url的信息) href //获取、设置浏览器的url search //获取从问号 (?) 开始的url(查询部分)。 hash //获取、设置url中的锚点名称 reload() //刷新页面 assign(url) //让url重新定向-跳转 replace(url) //使用新的url代替原来的url-跳转 history:(包含用户访问过的url) back() //列表前一个url(后退) forward() //列表后一个url(前进) go(数字) //列表中某个具体的页面 screem:(包含客户端显示屏的信息) width //屏幕宽度 height //屏幕高度 availWidth //屏幕可用宽度 availHeight //屏幕可用高度 document:(既window

爬虫18-多线程爬虫

杀马特。学长 韩版系。学妹 提交于 2020-03-15 22:35:26
import requests from lxml import etree from urllib import request import os from queue import Queue import threading class Procuder(threading.Thread): headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36" } def __init__(self,page_queue,img_queue,*args,**kwargs): super(Procuder, self).__init__(*args,**kwargs) self.page_queue = page_queue self.img_queue = img_queue def run(self): while True: if self.page_queue.empty(): break url = self.page_queue.get() self.parse_page(url) def parse_page(self,url): response =

Odoo 打印报表定制方法

喜夏-厌秋 提交于 2020-03-15 19:30:59
本文主要介绍odoo打印报表定制的方法及代码示例 从odoo8.0开始使用基于Qweb,Bootstrap和Wkhtmltopdf的全新报表引擎。一份报表由两个元素构成: 1 在ir.actions.report.xml中定义报表记录,使用定义报表生成的参数。 2 Qweb view定义报表样式 Report title 这里docs是从context发送过来的变量,代表报表内容记录。docs的作用其实是 ,比如你在界面上选定了几条相关模型的记录,然后可以通过docs访问这些记录数据,相当于模型方法中的recordset赋值给 docs = self,然后可以在qweb里读取。 另外还有user代表打印此报表的人 创建的报表可以通过html和pdf格式直接访问 http://localhost:8069/report/html/account.report_invoice/1 http://localhost:8069/report/pdf/account.report_invoice/1 注意 生成pdf需要服务端安装wkhtmltopdf程序, 有时候打印的报表样式丢失,需要正确设置相关参数。另外还会遇到一个样式bug。 report.url = http://localhost:8069 如果你的odoo有使用反向代理,你可以设置url路径为本地访问。web.base.url

C# .Net Core 3.1 中关于Process.Start 启动Url链接的问题

橙三吉。 提交于 2020-03-15 17:12:08
WPF 项目迁移到.Net Core中时居然出了一堆问题...(很无语) 今天在使用的时候居然发现Process.Start居然打不开Url链接了? 报 找不到指定文件 的异常?! 一、bug重现 首先以.Net Core 3.1框架 中一个Console项目 打开百度为例: 运行然后你就会得到: 纳闷的是,这种方法打开Url在.Net Framework中是没问题的.. 二、解决方法 方案一:使用windows系统自带的资源管理器来打开Url Process.Start("explorer", "https://www.baidu.com"); 你就可以得到一个浏览器窗口,打开着百度网页.. 但是如果你的Url复杂一点的话,例如打开百度搜索what Process.Start("explorer", "https://www.baidu.com/s?wd=what"); explorer表示不干,并直接给你抛了个文件管理器窗口所以这个方法只可以用于打开简单的URL...方案二:使用cmd中的start命令 可以打开任意形式的URL string url = "https://www.baidu.com/s?wd=what"; Process p = new Process(); p.StartInfo.FileName = "cmd.exe"; p.StartInfo

JS使用http协议实现ping功能

夙愿已清 提交于 2020-03-15 13:00:26
目前项目需要用到,实现原理很简单,提交一个ajax请求,并分别记录发送时间和收到回复时间即可。 代码转自:http://www.ttlsa.com/dev/use-js-ping-url-ping-ip/ $.ping = function(option) { var ping, requestTime, responseTime ; var getUrl = function(url){ //保证url带http:// var strReg="^((https|http)?://){1}" var re=new RegExp(strReg); return re.test(url)?url:"http://"+url; } $.ajax({ url: getUrl(option.url)+'/'+ (new Date()).getTime() + '.html', //设置一个空的ajax请求 type: 'GET', dataType: 'html', timeout: 10000, beforeSend : function() { if(option.beforePing) option.beforePing(); requestTime = new Date().getTime(); }, complete : function() { responseTime =

刷网页浏览(二)

巧了我就是萌 提交于 2020-03-15 10:20:30
经过研究,发现网页统计浏览量主要是根据ip地址和cookie中的缓存,并且网站都会做防刷, 它会判断url的来源,如: 来源URL:Request.UrlReferrer 浏览器类型:Request.UserAgent 远程客户端的DNS:Request.UserHostName 所以用httpclient去访问页面时,还要把userAgent修改一下,当然紧紧是修改userAgent是不行的,浏览器访问网页得到html,需要解析: 根据资源类型决定如何处理(假设资源为HTML文档) 解析HTML文档,构件DOM树,下载资源,构造CSSOM树,执行js脚本,这些操作没有严格的先后顺序,以下分别解释 构建DOM树: Tokenizing:根据HTML规范将字符流解析为标记 Lexing:词法分析将标记转换为对象并定义属性和规则 DOM construction:根据HTML标记关系将对象组成DOM树 解析过程中遇到图片、样式表、js文件,启动下载 构建CSSOM树: Tokenizing:字符流转换为标记流 Node:根据标记创建节点 CSSOM:节点创建CSSOM树 根据DOM树和CSSOM树构建渲染树 : 从DOM树的根节点遍历所有可见节点,不可见节点包括:1) script , meta 这样本身不可见的标签。2)被css隐藏的节点,如 display: none

Can't read data from url due to cloudflare

主宰稳场 提交于 2020-03-15 05:59:49
问题 Whenever I compile, i get this: Exception in thread "main" java.io.IOException: Server returned HTTP response code: 403 for URL: the link at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) at java.net.URL.openStream(Unknown Source) at readdata.aaa.main(aaa.java:15) My script is: package readdata; import java.net.*; import java.io.*; import java.util.regex.Pattern; import java.util.regex

Can't read data from url due to cloudflare

送分小仙女□ 提交于 2020-03-15 05:59:32
问题 Whenever I compile, i get this: Exception in thread "main" java.io.IOException: Server returned HTTP response code: 403 for URL: the link at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) at java.net.URL.openStream(Unknown Source) at readdata.aaa.main(aaa.java:15) My script is: package readdata; import java.net.*; import java.io.*; import java.util.regex.Pattern; import java.util.regex

python 并发编程之多进程

a 夏天 提交于 2020-03-15 04:30:33
一、数据共享 1.进程间的通信应该 尽量避免共享数据的方式 2.进程间的数据是独立的, 可以借助队列或管道实现通信,二者都是基于消息传递的。 虽然进程间数据独立,但可以用过Manager实现数据共享,事实上Manager的功能远不止于此。 命令就是一个程序,按回车就会执行(这个只是在windows情况下) tasklist 查看进程 tasklist | findstr pycharm #(findstr是进行过滤的),|就是管道(tasklist执行的内容就放到管道里面了, 管道后面的findstr pycharm就接收了) 二、进程池 在利用Python进行系统管理的时候,特别是同时操作多个文件目录,或者远程控制多台主机,并行操作可以节约大量的时间。 多进程是实现并发的手段之一,需要注意的问题是: 很明显需要并发执行的任务通常要远大于核数 一个操作系统不可能无限开启进程,通常有几个核就开几个进程 进程开启过多,效率反而会下降(开启进程是需要占用系统资源的,而且开启多余核数目的进程也无法做到并行) 例如当被操作对象数目不大时,可以直接利用multiprocessing中的Process动态成生多个进程,十几个还好,但如果是上百个,上千个。。。手动的去限制进程数量却又太过繁琐,此时可以发挥进程池的功效。 那么什么是进程池呢?进程池就是控制进程数目 ps

js网络请求的点点滴滴(axios、fetch、ajax)

不问归期 提交于 2020-03-15 01:45:37
一、什么是网络请求,网路请求的类型 1.1 什么是网路请求,网路请求关心哪些内容 传入基本参数(url,请求方式) 请求参数、请求参数类型 设置请求头 获取响应的方式 获取响应头、响应状态、响应结果 异常处理 携带cookie设置 跨域请求 1.2网路请求的类型 同步请求 异步请求 二、同步请求的模式 三、异步请求的模式 四、当前流行的异步请求方案 axios、fetch、ajax 问题一:axios、fetch与ajax有什么区别? 主要区别是 axios、fetch请求后都支持 Promise对象API ,ajax只能用回调函数。 Ajax Ajax被认为是(Asynchronous JavaScript and XML)的缩写。现在,允许浏览器与服务器通信而无须刷新当前页面的技术都被叫做Ajax。依赖的传输对象: XMLHttpRequest ajax无需多言,如果想要更多了解,参考以下链接: ajax详解 axios: 代码 示例 axios({ method: 'post', url: '/user/12345', data: { firstName: 'Fred', lastName: 'Flintstone' } }) .then(function (response) { console.log(response); }) .catch(function