python的web基础应用

简单脚本分享

简单爬行页面 3.x与2.x

    import urllib.request #3.x版本

    url='http://www.baidu.com/' 

    def getHtml(url):

    page=urllib.request.urlopen(url) 

    html=page.read().decode(encoding='utf-8',errors='strict')

    return html

    print(getHtml(url))

    import requests #2.x版本

    import string

    headers = {

        'Connection': 'Keep-Alive',

        'Accept': 'text/html, application/xhtml+xml, */*',

        'Accept-Language': 'en-US,en;q=0.8,zh-Hans-CN;q=0.5,zh-Hans;q=0.3',

        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.75 Safari/537.36 LB'

    }

    url="https://www.qq.com"

    res=requests.get(url,headers)

    print(res.text)

post传参,设置cookie,截取返回页面固定长度 2.x 

    url='http://106.75.72.168:2222/index.php'

    headers = {

        'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',

        'Accept-Encoding': 'gzip, deflate, compress',

        'Accept-Language': 'en-us;q=0.5,en;q=0.3',

        'Cache-Control': 'max-age=0',

        'Connection': 'keep-alive',

        'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:22.0) Gecko/20100101 Firefox/22.0',

        'cookie': 'Hm_lvt_9d483e9e48ba1faa0dfceaf6333de846=1542198011; role=Zjo1OiJucXp2YSI7'

    }

    payload={'filename':'1.php','data[]':'<?php phpinfo();?>'}

    r=requests.post(url,headers=headers,data=payload)

    url="http://106.75.72.168:2222"+r.content[82:128]

    r=requests.get(url)

    print r.content

字典制作 各版本


    with open('wordlist.txt','w+') as f:

    for i in range(0,10):

        for j in range(0,10):

            for k in range(0,10):

                for h in range(0,10):

                    f.write('1391040'+str(i)+str(j)+str(k)+str(h)+'\n')

    f.close

保存本地到wordlist.txt文件里1391040xxxx生成后四位的字典。

python登陆网站 3.x

    from urllib import request#导入urllib模块里的request

    from urllib import parse#parse模块里的编码 

    from urllib.request import urlopen

    values ={'zhanghao':'admin','mima':'admin'}

    data=parse.urlencode(values).encode('utf-8')#提交类型不能为str,需要为byte类型,parse.urlencode方法的作用是把dict格式的参数转换为url参数,并以utf-8编码,可以拼接为HTTP请求。

    url='http://127.0.0.1/login.php'

    request=request.Request(url,data)

    response=urlopen(request)

    print(response.read().decode())#加入decode才能使网页解码成中文

整理 3.x版本

    import urllib.parse#urlencode

    import urllib.request#Request,urlopen

    '''

    response=urllib.request.urlopen("http://127.0.0.1")

    print(response.read().decode())

    '''

    #设置header和data

    '''

    url='http://127.0.0.1/login.php'

    user_agent='Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36'

    values={'zhanghao':'admin','mima':'admin'}

    headers={'User-Agent':user_agent}

    data=urllib.parse.urlencode(values).encode('utf-8')

    request=urllib.request.Request(url,data,headers)

    response=urllib.request.urlopen(request)

    page=response.read()

    print(page.decode())

    '''

    #设置代理 避免因为某个IP的访问次数过多导致的禁止访问

    '''

    enable_proxy = True

    proxy_handler = urllib.request.ProxyHandler({"http":'http://some-proxy.com:8080'})

    null_proxy_handler = urllib.request.ProxyHandler({})

    if enable_proxy:

    opener = urllib.request.build_opener(proxy_handler)

    else:

    opener = urllib.request.build_opener(null_proxy_handler)

    urllib.request.install_opener(opener)

    '''

    #设置timeout 

    # urlopen与Request 区别https://blog.csdn.net/tao3741/article/details/75207879

    '''

    response=urllib.request.urlopen('http://127.0.0.1',timeout=10)

    print(response.read().decode())

    '''

    #post put 等提交方式

    '''

    request=urllib.request.Request(url,data,headers)#post 直接写在data里

    request=urllib.request.Request('http://127.0.0.1?a=1')#get直接写在url里

    request = urllib.request.Request(url, data=data)#put和delete

    request.get_method = lambda:'PUT' #or 'DELETE'#put和delete

    '''

    #使用DebugLog 把收发包的内容在屏幕上打印出来

    '''

    httpHandler = urllib.request.HTTPHandler(debuglevel=1)

    httpsHandler = urllib.request.HTTPSHandler(debuglevel=1)

    opener = urllib.request.build_opener(httpHandler, httpsHandler)

    urllib.request.install_opener(opener)

    response = urllib.request.urlopen('http://127.0.0.1', timeout = 5)

    '''

    #URLError异常属性判断

    '''

    request=urllib.request.Request('http://127.0.0.999')

    try:    

    urllib.request.urlopen(request)

    except urllib.error.URLError as e:

        if hasattr(e, "code"):     #hasattr 判断变量是否有某个属性

            print(e.code)

        if hasattr(e, "reason"):        

            print(e.reason) 

    else:

        print("OK")

    '''

参考:(https://www.cnblogs.com/dplearning/p/4854746.html)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,463评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,868评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,213评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,666评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,759评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,725评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,716评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,484评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,928评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,233评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,393评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,073评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,718评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,308评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,538评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,338评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,260评论 2 352

推荐阅读更多精彩内容