ホームページ > バックエンド開発 > Python チュートリアル > Baidu ウェブマスター自動 URL 送信ガジェットが Python で実装されました

Baidu ウェブマスター自動 URL 送信ガジェットが Python で実装されました

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-16 08:43:39
オリジナル
1626 人が閲覧しました

URL 送信は、Baidu が提供するウェブマスター ツールで、ウェブマスターに特定の URL を手動で収集するためのインターフェースを提供します。ただし、このインターフェースには検証コード認識部分があり、使いにくいです。したがって、検証コードを自動的に識別するために次のプログラムが作成されました:

メインアイデア

複数の検証コードを取得し、複数の認識のために http://lab.ocrking.com/ に送信し、各検証コード画像で認識された文字または数字を計算して統計を取得します。最も高い統計率を持つ検証コードが検証コードです。

コードをコピー コードは次のとおりです:

#!/usr/bin/env python
# -*- コーディング: utf-8 -*-
インポートリクエスト
インポート時間
json をインポート
インポートリ
 
 
if __name__ == "__main__":
    i = 1
    s = request.session()
    s.headers.update({'Referer':'http://zhanzhang.baidu.com/sitesubmit/index','User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, Gecko のように) Chrome/33.0.1750.154 Safari/537.36'})
    r = s.get('http://zhanzhang.baidu.com/sitesubmit/index')
    s2 = リクエスト.セッション()
    r = s.post('http://zhanzhang.baidu.com/captcha',data={'async':'false','n':time.time()})
    url = json.loads(r.content)['url']
    温度 = []
    一方 1:
        試してみてください:
            r = s.get(url)
            img_data = r.content
            r = s2.get('http://lab.ocrking.com/')
            試してみてください:
                content = ' '.join(r.content.split())
                sid = re.findall(r'"sid" : "(.+?)"',content)[0]
                hash_1 = re.findall(r'"hash" : "(.+?)"',content)[0]
                timestamp = re.findall(r'"timestamp" : "(.+?)"',content)[0]
            例外:
                print 'orking 情報の取得時にエラーが発生しました!'
                続ける
            files = {'ファイルデータ':('icode.jpeg', img_data)}
            データ = {'ファイル名':'icode.jpeg','sid':sid,'hash':hash_1,'timestamp':timestamp}
            r = s2.post('http://lab.ocrking.com/upload.html',files = ファイル,data= データ)
            r = s2.post('http://lab.ocrking.com/ocrking.html',data={'upfile':r.content,'type':'captcha','charset':'7'})
            icode = re.findall(r'(.+?)',r.content)[0]
            if len(icode) != 4 :
                続ける
            temp.append(icode)
            i = i + 1
            if i == 3 :
                休憩
        例外を除く、e:
            印刷します
            パス
 
    a = {'0':{},'1':{},'2':{},'3':{}}
    一時的な aa の場合:
        i = 0
        私は             試してみてください:
                a[str(i)][aa[i]] = a[str(i)][aa[i]] + 1
            例外:
                a[str(i)][aa[i]] = 1
            i = i + 1
    icode = ['','','','']
    のインデックスの場合:
        temp_times = 0
        a[index] のindex_1:
            if a[index][index_1] >= temp_times :
                temp_times = a[index][index_1]
                icode[int(index)] =index_1
 
    icode = ''.join(icode)
 
    img_name = 'temp\'+icode+'.png'
    file_object = open(img_name, 'w')
    file_object.write(img_data)
    file_object.close()
 
 
 
    #r = s.post('http://zhanzhang.baidu.com/sitesubmit/sitepost',data={'url':'http://lab.ocrking.com/','captcha':icode})
 
    #print r.content

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート