pythonurl
A. python 如何获取url信息
importweb
defmake_text(string):
returnstring
urls=('/','tutorial')
render=web.template.render('templates/')
app=web.application(urls,globals())
my_form=web.form.Form(
web.form.Textbox('',class_='textfield',id='textfield'),
)
classtutorial:
defGET(self):
form=my_form()
returnrender.tutorial(form,"Yourtextgoeshere.")
defPOST(self):
form=my_form()
form.validates()
s=form.value['textfield']
returnmake_text(s)
if__name__=='__main__':
app.run()
B. Python3 如何对url解码实现Python2中urllib.unquote的作用
url编码:
import urllib
url = 'http://test.com/s?wd=哈哈' #如果此网站编码是gbk的话,需要进行解码,从gbk解码成unicode,再从Unicode编码编码为utf-8格式。
url = url.decode('gbk', 'replace')
print urllib.quote(url.encode('utf-8', 'replace'))
C. python url提取
importre
text='<ahref="/Enterprise/GeneralWorkerDetails/3553297586.html"class="clearfix">'
p=re.compile("<ahref="(.*?)"");
match=p.match(text)
printmatch.group(1)
D. 关于python urlopen函数
python
3里面,bytes存放的是binary
data,而str存放的text
从bytes转到str,需要把binary
data解码,因此你需要指定一个编码,例如:
my_str
=
str(my_bytes,
encoding="utf-8")
建议阅读文档:
http://docs.python.org/release/3.0.1/whatsnew/3.0.html#text-vs-data-instead-of-unicode-vs-8-bit
http://docs.python.org/release/3.0.1/howto/unicode.html#unicode-howto
这两段文档应该足够解决你的困惑,呵呵
E. 如何用python访问URL
import urllib2
req = urllib2.urlopen(url)
print req.read()
F. python编写接口,请求url应该如何确定
1、是一个接口
2、程序需要运行后才能访问,可以部署到服务器上,程序一旦运行是守护进程,只要不关闭程序一直会运行
3、请求的url根据'/xxx'来确定,请求的类型 methods=['get']
G. 关于python的urlopen
python 3里面,bytes存放的是binary data,而str存放的text
从bytes转到str,需要把binary data解码,因此你需要指定一个编码,例如:
my_str = str(my_bytes, encoding="utf-8")
建议阅读文档:
http://docs.python.org/release/3.0.1/whatsnew/3.0.html#text-vs-data-instead-of-unicode-vs-8-bit
http://docs.python.org/release/3.0.1/howto/unicode.html#unicode-howto
这两段文档应该足够解决你的困惑,呵呵
H. Python如何下载请求的url指向文件,例如这样的: http://edi.chi/Print.dofileId=123
#!/usr/bin/envpython
#-*-coding:utf-8-*-
importrequests
print('start')
url=r'问号前面的网址'
parms={
'fileId':'123'
}
try:
r=requests.post(url,data=parms)
print(r.text)
exceptExceptionase:
print(e)
I. python中url太长怎么解决
今天写了个脚本 主要就是实现利用sqlInj点直接把数据获取到本地并存到Mysql数据库中
学过Python的都知道可以使用urllib2中的request()方法直接打开Url,但仅限于url后没有跟复杂的参数串
今天我利用的Url是
' and (select top 1 cast(CONTENT as varchar(8000)) from xxx.dbo.xxx where cast(CONTENT as varchar) not in (select top 22 cast(CONTENT as varchar) from xxx.dbo.xxx))=0--
开始我也直接用以下语句测试的:
url="上面的URL"
req=urllib2.Request(url)
urllib2.urlopen(req)
可是执行后一直提示500错误,由此可以发现应该是Python在对Url进行编码的时候更改了某些特殊字符造成Url失效
我们可以用urllib2或urllib的quote()方法控制对特殊字符的URL编码,这里推荐用 urllib下的quote_plus()方法,它将空格转化成'+'而非%20通用性更好。
我们更改后的代码如下:
url = "' and (select top 1 cast(CONTENT as varchar(8000)) from xxx.dbo.xxx where cast(CONTENT as varchar) not in (select top "+str(count)+" cast(CONTENT as varchar) from xxx.dbo.xxx))=0--"
quoteUrl=urllib.quote_plus(url,safe=':\'/?&=()')
fd = urllib.urlopen(quoteUrl)
这样我们就可以正常的提取数据了
J. python urllib2.urlopen(url).read()乱码
ubuntu 的控制台默认是utf8编码的吧。而且这个google返回的是big5编码吗,用下面的代码解码下试试
url="网址"
content = urllib2.urlopen(url).read()
print content.decode('big5').encode('utf8')