url

regex to match a URL with optional 'www' and protocol

久未见 提交于 2020-02-16 03:53:58
问题 I'm trying to write a regexp. some background info: I am try to see if the REQUEST_URI of my website's URL contains another URL. like these: http://mywebsite.com/ google.com/search=xyz However, the url wont always contain the 'http' or the 'www'. so the pattern should also match strings like: http://mywebsite.com/ yahoo.org/search=xyz http://mywebsite.com/ www.yahoo.org/search=xyz http://mywebsite.com/ msn.co.uk' http://mywebsite.com/ http://msn.co.uk' there are a bunch of regexps out there

regex to match a URL with optional 'www' and protocol

依然范特西╮ 提交于 2020-02-16 03:43:14
问题 I'm trying to write a regexp. some background info: I am try to see if the REQUEST_URI of my website's URL contains another URL. like these: http://mywebsite.com/ google.com/search=xyz However, the url wont always contain the 'http' or the 'www'. so the pattern should also match strings like: http://mywebsite.com/ yahoo.org/search=xyz http://mywebsite.com/ www.yahoo.org/search=xyz http://mywebsite.com/ msn.co.uk' http://mywebsite.com/ http://msn.co.uk' there are a bunch of regexps out there

基础术语理解

依然范特西╮ 提交于 2020-02-16 03:38:35
1JSON对象和JS对象的理解 格式: JSON对象里引号必须用双引号且key值必须用双引号! {"name":1} ,{"name":"李华"} //JSON对象 {name:"1"},{"name":'李华'} //JS对象 '{"name":"1","age":2}' //JSON字符串 JSON 即JS对象表示法.是JS的一种简单数据格式. 但仍独立于平台和语言.是一种轻量级文本数据交换格式,传输速度快.跨多平台 JS中处理JSON数据,不需要引入任何API或工具库 2.URL和URI的区别 URL:统一资源定位符 URI:统一资源标识符 URL是一个地址,URI是一个资源; 每个URL都是URI,但不是每个URI都是URL 可以简单理解 URL是URI的子类 3.encodeURI 、encodeURIComponent编码的区别与应用场景 enconde编码/ decode解码 为什么要使用编码? 统一各个终端对URL的编码方式. 这样后端接收的都是一样的 由于RFC 1738没有对URL编码指定具体规格,不同终端,可能对同一地址产生不同编码. 区别: encodeURI :URL地址编码,有些符号不能编码 encodeURIComponent:URL参数编码,都可以编码 使用: let querystr = encodeURIComponent(JSON

百度和谷歌SEO优化

醉酒当歌 提交于 2020-02-16 02:55:18
  1、唯一的URL、唯一的内容   在搜索引擎蜘蛛眼里,比较理想状态是,一个“名字”可以对应一个“人”,也就是唯一URL、唯一内容的意思,所以当你越接近这个状态,那么越容易被抓取和收录。   对于一般 站长 ,我的 建议 是整站静态,并对所有的动态文件,禁止搜索引擎蜘蛛抓取,可以很有效实现唯一的URL、唯一的内容目的。   2、限制搜索引擎蜘蛛抓取内容   现在很多CMS程序,都支持 用户 功能 ,但是这种掺入用户相关参数URL,对于搜索引擎蜘蛛来说,并不是一件好事情,因为很多URL 地址 不规则,而且存在某些缺陷,容易让蜘蛛陷入死循环,而且更麻烦的是,因为内容基本相同,导致了一个 页面 存在N多URL,可是犯了大忌讳哟。   3、不可能存在的页面,真实存在   有些站长 朋友 ,或有意、或无意的期望搜索引擎蜘蛛多抓取,制造 网站 无限页面,当你输入page=99999这种完全不可能存在列表页,还能返回一个正常200 代码 ,这种情况将恶意消耗蜘蛛和你的宽带,往往会被丢弃。   搜索引擎蜘蛛吸引之外部吸引   1、合乎情理的外链   以前我曾写过一篇怎样才算好的外链?主要是讲了发外链理想条件,如果达不到也没有关系,只要是合乎情理的外链,内容和外链之间肯定是存在相关性的就行。   当搜索引擎蜘蛛通过像TF/IDF算法,帮助它刚抓取的文章获得一个关键词时候,而你的外链刚好出现

浅谈window.sidebar

本秂侑毒 提交于 2020-02-16 02:09:09
本文要点: 1) Window.sidebar是个什么东东? 2) 采用何种规范? 3) 提供哪些方法? 4) 各自的用途局限? 5) 哪些360的产品用到了? 6) 兼容主流浏览器的【加入收藏】实例 一、Window.sidebar简介 是一种文档对象模型,返回侧边栏的对象,其中包含浏览器加载项注册的几种方法 例子:window.sidebar.addPanel(”360安全中心”,http://www.360.cn/,””);  注:第三个空参数是必需的! 二、规范 Mozilla的规范,不属于任何标准来衡量 三、 Window.sidebar对象方法   侧边栏返回的对象有以下几种方法: 方法 描述 addPanel(title,contentURL,customizeURL) 添加了一个侧边栏面板. 创建一个Firefox侧边栏 在Firefox 2和更高版本的侧边栏的详细信息. addPersistentPanel(title,contentURL,customizeURL) 添加侧边栏面板,这是能够在后台工作。SeaMonkey的或Firefox 1.x的这唯一的作品;Firefox 2和以后只会做 addPanel() . addSearchEngine(engineURL,iconURL,suggestedTitle,suggestedCategory)

爬虫基础

回眸只為那壹抹淺笑 提交于 2020-02-16 01:31:55
文章目录 什么是爬虫? 学习爬虫需要学习的内容有哪些? 通用爬虫和聚焦爬虫 URI和URL HTTP和HTTPS 响应状态码(面试常考) 请求方法 什么是爬虫? 网络爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。 学习爬虫需要学习的内容有哪些? 1.python基础语法知识,加上进阶语法知识更好。 2. 基本库的使用,比如:urllib,requests 3. 解析库的使用,比如:XPath,Beautiful Soup,pyquery 4. 数据的存储,比如:TXT,JSON,CSV,Mysql,MongoDB,redis 5. Ajax数据的获取 6. 验证码的识别 7. 代理的使用 8. 模拟登陆 9. app爬虫 10.pyspider框架的使用 11.Scrapy框架的使用 12.分布式爬虫 通用爬虫和聚焦爬虫 1.通用爬虫 通用网络爬虫 是捜索引擎抓取系统(Baidu、Google、Yahoo 等)的重要组成部分。主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份。 2、聚焦爬虫 聚焦爬虫,是"面向特定主题需求"的一种网络爬虫程序,它与通用搜索引擎爬虫的区 别在于: 聚焦爬虫在实施网页抓取时会对内容进行处理筛选,尽量保证只抓取与需求相关的网页信息。而我们这些爬虫爱好者就是学习聚焦爬虫。 URI和URL URI (Uniform

MOOC(7)- case依赖、读取json配置文件进行多个接口请求-封装接口请求(2)

末鹿安然 提交于 2020-02-15 19:18:08
与1的区别在于加入了构造函数 # 封装接口请求 import requests import json class RunMain: def __init__(self, url, method, data=None): self.res = self.run_main(url, method, data) def send_get(self, url, para): res = requests.get(url, para) return res.json() def send_post(self, url, data): res = requests.post(url, data) r = res.json() return json.dumps(r, indent=2, sort_keys=True, ensure_ascii=False) def run_main(self, url, method, data=None): res = None if method.upper() == "GET": res = self.send_get(url, data) elif method.upper() == "POST": res = self.send_post(url, data) else: print("请输入正确的参数") return res if __name

MOOC(7)- case依赖、读取json配置文件进行多个接口请求-封装接口请求(1)

混江龙づ霸主 提交于 2020-02-15 19:07:25
# 封装接口请求import requestsimport jsondef send_get(url, para): res = requests.get(url, para) return res.json()def send_post(url, data): res = requests.post(url, data) r = res.json() # json.dumps使得输出的字典或json数据更美观,这里的参数r可以是字典,可以是json return json.dumps(r, indent=2, sort_keys=True, ensure_ascii=False)def run_main(url, method, data=None): res = None if method.upper() == "GET": res = send_get(url, data) elif method.upper() == "POST": res = send_post(url, data) else: print("请输入正确的参数") return resurl_1 = "http://apis.juhe.cn/rubbish/search"data = {"key": "6d9cc6b16d6cf63caded401b99c7311e", "q": "奶茶", "type

HTTP中get 和 post的区别

心不动则不痛 提交于 2020-02-15 17:39:27
转自 http://www.cnblogs.com/hyddd/archive/2009/03/31/1426026.html Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的 查 , 改 , 增 , 删 4个操作。到这里,大家应该有个大概的了解了,GET一般用于 获取/查询 资源信息,而POST一般用于 更新 资源信息。    1 .根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的 。   (1).所谓安全的意味着该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。   * 注意:这里安全的含义仅仅是指是非修改信息。   (2).幂等的意味着对同一URL的多个请求应该返回同样的结果。这里我再解释一下 幂等 这个概念:    幂等 (idempotent、idempotence)是一个数学或计算机学概念,常见于抽象代数中。   幂等有一下几种定义:   对于单目运算

Java从URL下载文件

北城余情 提交于 2020-02-15 12:37:42
Java从URL下载文件 /** * @param filePath 文件将要保存的目录 * @param url 请求的路径 * @return * @从制定URL下载文件并保存到指定目录 */ public static File saveUrlAs(String url, String filePath) { //为下载的文件命名 String fileName = url.substring(url.lastIndexOf("/") + 1); //创建保存的文件目录 File file = new File(filePath); //判断文件夹是否存在 if (!file.exists()) { //如果文件夹不存在,则创建新的的文件夹 file.mkdirs(); } InputStream inputStream = null; FileOutputStream fileOut = null; HttpURLConnection conn = null; BufferedOutputStream bos = null; BufferedInputStream bis = null; try { // 建立链接 URL httpUrl = new URL(url); conn = (HttpURLConnection) httpUrl.openConnection();