url编码

爬取今日新闻网的侧边栏

為{幸葍}努か 提交于 2019-12-05 09:40:51
题目:爬取今日头条新闻网的左边侧栏,并且以csv为文件的形式保存 代码: import io import sys import urllib.request import pandas as pd from pyquery import PyQuery as pq sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='gb18030') #改变标准输出的默认编码 url = 'https://mini.eastday.com/jrdftt/' def get_Info(url): res=urllib.request.urlopen(url) htmlBytes=res.read() doc = pq(htmlBytes.decode('utf-8')) res = doc(".channel-item span") t = [i.text for i in res] se = pd.Series(t) se.to_csv("列表.csv") 结果: 来源: https://www.cnblogs.com/CJR-QYF/p/11919559.html

javaScript中URL编码转换,escape() encodeURI() encodeU...

故事扮演 提交于 2019-12-04 09:30:55
在使用url进行参数传递时,经常会传递一些中文名的参数或URL地址,在后台处理时会发生转换错误。在有些传递页面使用GB2312,而在接收页面使用UTF8,这样接收到的参数就可能会与原来发生不一致。使用服务器端的urlEncode函数编码的URL,与使用客户端javascript的encodeURI函数编码的URL,结果就不一样。 javaScript中的编码方法: escape() 方法: 采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。比如,空格符对应的编码是%20。unescape方法与此相反。不会被此方法编码的字符: @ * / + 英文解释:MSDN JScript Reference: The escape method returns a string value (in Unicode format) that contains the contents of [the argument]. All spaces, punctuation, accented characters, and any other non-ASCII characters are replaced with %xx encoding, where

深入研究URL编码问题及JavaScript相应的解决方案

我是研究僧i 提交于 2019-12-04 05:47:29
日期: 2010年2月11日 一、问题的由来 URL就是网址,只要上网,就一定会用到。 一般来说,URL只能使用英文字母、阿拉伯数字和某些标点符号,不能使用其他文字和符号。比如,世界上有英文字母的网址 “http://www.abc.com”,但是没有希腊字母的网址“http://www.aβγ.com”(读作阿尔法-贝塔-伽玛.com)。这是 因为网络标准 RFC 1738 做了硬性规定: "...Only alphanumerics [0-9a-zA-Z], the special characters "$-_.+!*'()," [not including the quotes - ed], and reserved characters used for their reserved purposes may be used unencoded within a URL." “只有字母和数字[0-9a-zA-Z]、一些特殊符号“$-_.+!*'(),”[不包括双引号]、以及某些保留字,才可以不经过编码直接用于URL。” 这意味着,如果URL中有汉字,就必须编码后使用。但是麻烦的是,RFC 1738没有规定具体的编码方法,而是交给应用程序(浏览器)自己决定。这导致“URL编码”成为了一个混乱的领域。 下面就让我们看看,“URL编码”到底有多混乱。我会依次分析四种不同的情况

带你走进字符编码的世界

萝らか妹 提交于 2019-12-04 04:50:39
思考一下,为什么有字符编码这种东西? 当然是为了让计算机“听话”呗。我们知道,计算机的世界只有01这两个字符,而我们现实世界有成千上万的字符。如何用01的组合去和现实中的字符一一对应呢?这就是需要制定相应的编码规则来实现了。明白了这点,我们正式开始编码的讲解。 ASCII码 我们知道, 在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态 ,因此八个二进制位就可以组合出256种状态(-128~127),这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从0000000到11111111。 上个世纪60年代, 美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定 。这被称为ASCII码,一直沿用至今。 ASCII码一共规定了128个字符的编码,比如空格“SPACE”是32(二进制00100000),大写的字母A是65(二进制01000001)。这128个符号(包括32个不能打印出来的控制符号),只占用了一个字节的后面7位,最前面的1位统一规定为0。 ASCII码用了1个字节,1个字节可以表示256种状态,但ASCII码只用了128种,也就是一个字节的后七位,最前面的1位都是0。 非ASCII编码 英语用128个符号编码就够了,但是用来表示其他语言

ComicReaper

眉间皱痕 提交于 2019-12-04 02:43:50
讲真的, 手机看漫画翻页总是会手残碰到页面上的广告好吧... 要是能只需要指定一本漫画的主页URL就能给我返回整本漫画就好了... 还是使用Python来实现, 取个名字...就叫 ComicReaper (漫画收割者) 吧! 首先我们要获取当前漫画所有章节的标题与URL(标题用于后期存储时文件夹的命名, URL用于跳转到当前章节的开始页面) 首先是 chapterIndexReaper 函数, 主要用来"收割"当前漫画的所有章节并存储为字典列表 代码如下 : 1 #获取一本漫画的所有章节的目录 2 def chapterIndexReaper(url_host, header): 3 # 定义一个临时字典, 用于临时存储一个章节的标题与url 4 dic_temp = { 5 'Title' : '', 6 'Url' : '' 7 } 8 # 章节字典列表, 存储当前漫画的所有章节字典 9 set_dic = [] 10 # 构建Request对象 11 req = urllib.request.Request(url = url_host, headers = header) 12 # 读取所请求的req并用utf-8编码来进行解码, 所得到的的字符串赋值给html 13 html = urllib.request.urlopen(req).read().decode(

bugku 秋名山老司机

南笙酒味 提交于 2019-12-03 15:46:46
看到这个的第一眼怀疑是脚本题,先看看源码 找不到提交点。。。 抓包 也没有 多刷新几次 弹出了提示信息 用 post 传入的参数 value ,其值应该就是计算式的答案 然后直接使用 py 脚本来快速上传答案值就可以得到 flag 了 #! /usr/bin/env python3 # -*- coding: utf-8 -*- import requests from bs4 import BeautifulSoup url = "http://123.206.87.240:8002/qiumingshan/" s = requests.session() r = s.get(url) # 将编码设置为 utf8 r.encoding = 'utf-8' # bs解析网页内容 soup = BeautifulSoup(r.text,'html.parser') num = soup.div.text # 赋值 post 参数 final = {'value':eval(num.replace('=?;',''))} print(final) r = s.post(url,data = final) r.encoding = 'utf-8' print(r.text) 来源: https://www.cnblogs.com/wosun/p/11802721.html

PHP--------解决网址URL编码问题

浪子不回头ぞ 提交于 2019-12-03 02:49:48
在PHP中有urlencode()、urldecode()、rawurlencode()、rawurldecode()这些函数来解决网页URL编码解码问题。 理解urlencode: urlencode: 是指针对网页url中的中文字符的一种编码转化方式,最常见的就是Baidu、Google等搜索引擎中输入中文查询时候,生成经过 Encode过的网页URL。 urlencode的方式一般有两种一种是传统的基于GB2312的Encode(Baidu、Yisou等使用),一种是 基于utf-8的Encode(Google,Yahoo等使用)。本文分别分析两种方式的Encode与Decode。 中文 -> GB2312的Encode -> %D6%D0%CE%C4 中文 -> utf-8的Encode -> %E4%B8%AD%E6%96%87 Html中的urlencode: 编码为GB2312的html文件中: http://www.php.com/中文.rar -> 浏览器自动转换为 -> http://www.php.com/%D6%D0%CE%C4.rar 注意:Firefox对GB2312的Encode的中文URL支持不好,因为它默认是utf-8编码发送URL的,但是ftp://协议可以,应该算是Firefox一个bug。 编码为utf-8的html文件中: http:/

Dubbo源码解析(十) Dubbo Registry以Zookeeper为例

匿名 (未验证) 提交于 2019-12-03 00:27:02
默认是DubboRegistryFactory @SPI ( "dubbo" ) public interface RegistryFactory { /** * Connect to the registry * <p> * Connecting the registry needs to support the contract: <br> * 1. When the check=false is set, the connection is not checked, otherwise the exception is thrown when disconnection <br> * 2. Support username:password authority authentication on URL.<br> * 3. Support the backup=10.20.153.10 candidate registry cluster address.<br> * 4. Support file=registry.cache local disk file cache.<br> * 5. Support the timeout=1000 request timeout setting.<br> * 6. Support session=60000 session

get请求结果URL里的参数显示为乱码

匿名 (未验证) 提交于 2019-12-03 00:21:02
直接使用服务器通知浏览器以指定的方式进行编码字符数据。 使用URIEnoding方式解决GET乱码问题 < Connector port = "8080" protocol = "HTTP/1.1" 2 connectionTimeout = "20000" 3 redirectPort = "8443" 4 URIEncoding = "utf-8" /> URIEncoding主要指定的是%E5%8D%A1%E5%8D%A1的数据的解码方式,如果没有指定那么默认是ISO8859-1,如果指定那么采用指定的码表进行解码。因此服务器端就没有必要使用两个中编码方式进行转码了。 注意:在实际的生产环境中我们代码的乱码问题不可能以来服务器帮助我们解决,因此推荐使用第一个转码方式。后期可以直接实现一个乱码的过滤器实现处理乱码的问题。 更改后依然 有乱码问 题,另一种解决办法就是一个一个改 jsp页面中 <meta http-equiv="content-type" content="text/html; charset=UTF-8">通知浏览器以utf-8解码 get请求编码方式和post请求提交编码方式不同,get是把数据直接放到url中,例如以上的uname,IE浏览器先对中文进行utf-8编码(一个中文3个字符表示 太长),继而为了缩短字符又用ISO8859-1编码后传递给服务器

Java Servlet的配置

匿名 (未验证) 提交于 2019-12-02 21:52:03
配置Servlet映射 <servlet> <servlet-name>TestServlet</servlet-name> <servlet-class>servlet.TestServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>TestServlet</servlet-name> <url-pattern>/TestServlet</url-pattern> </servlet-mapping> 只能使用/TestServlet来访问,使用其他的比如/TestServlet/xxx是访问不了的。 第一个/表示项目根目录。 <url-pattern>/servlet.TestServlet</url-pattern> 访问时以 /servlet.TestServlet 来访问。注意不是通过/servlet/TestServlet来访问。 可以使用/ <url-pattern>/servlet/TestServlet</url-pattern> 访问时以 /servlet/TestServlet 来访问 可以使用通配符* <url-pattern>/*</url-pattern> 匹配所有请求。 多重映射:一个Servlet配置多个<url-pattern>,可通过多个路径来访问。 <servlet