最初に私のマイクロチャネル公共番号に登場したこの記事:小さな水ヶ月の長いです
オリジナル住所:https://mp.weixin.qq.com/s/uehzjUl8QEaQHtCx4o4BXg
Baiduの翻訳爬虫類
プログラムは効果があることまで実行し、
自動翻訳、および英語の翻訳でサポート
コードのデバッグの過程で、私は、興味のある学生が見ることができる暗号化パラメータとGoogleのBaiduの翻訳は、ほとんど、私はGoogleの翻訳についての記事を書いたことがわかった翻訳します:
メイド私の驚きは、暗号化機能のBaiduの翻訳はGoogleの翻訳をコピーしているだけではなく、ということです。。。
今日二つのパラメータBaiduの翻訳により、メインブレーク言い続けない:署名サインをして、証明書のトークンを渡し、コーディング爬虫類の一般的な考え方について話をします。
我々はBaiduの翻訳をクロールする場合は、当然のことながら、最初のステップは、ページBaiduの翻訳、開発者ツールを開くために、F12キーを押しを開くことです。
切り替えNetWork
、リターンがある見るために、ファイルの種類を選択し、ラベルAll
、
最初のアイコンの右にある赤い点をクリックする前に、最初の明確な兆候を。
そして、青色のクリック翻译
ボタンを、この時点で、あなたが応答がたくさんある見ることができる
(ボックスのうち、小さな赤い四角形で)検索ボタンがあり、特定のファイルに対応して検索を入力します。
我々は同様の虫眼鏡のアイコンがあることに注意して、同時に、それはまた、検索ボタンです:
検索ボタンをクリックして、キーワードを入力し、それが応答したすべての適切な文書を検索します
検索translate
キーワードを、我々は、検索結果があることがわかります
この結果をクリックしてください
あなたは私たちは、応答ファイルのキーワード見つけるために、ブラウザのヘルプを参照してくださいすることができ、そしてそれはv2transapiで
より多くの情報、右側にレスポンス応答または[プレビュー]タブを参照してください
実際に、私たちは、これが私たちのウェブページ表示中のキーワードであることがわかりました入力した翻译
翻訳結果は、
より多くのあなたが何回も信じることができるよりもしないだろう中国の応答ファイルがあるので、ここで注意すべきポイントは、中国のキーワードを失うことが最善ではありません\\u4f8b\\u53e5\\u5e93
、などのUnicode文字のブラウザが表示さに存在する確かに変換分解能を作りました開発ツールは、少なくとも// 11 2018 / 28Chromeに、あなたは将来、それを改善しますGoogleは、変換しない理由を知っていません。
ヘッダは、タブに切り替え
パラメータのいくつかの変更は、建設が検索パラメータとレスポンス・ファイルへのキーワードとして使用することができます方法がわからない場合は、パラメータが必要かを確認するにはURL要求とは何ですか。
最後は、それをコーディング何を恐れて、上記の準備作業がとてもよくやった、符号化されていますか?
データのみを追加する必要があります。
query,
simple_means_flag,
sign,
token
それはすることができます。
一定量であるSimple_means_flag、翻訳対象の単語の代わりにクエリでは、あなたはそれがこれら2つのパラメータの符号とトークンをクラックすることで対処する必要があります。それは、トークンがホーム・ページのソースコードBaiduの翻訳を直接見ることができるトークンについて私が話をしてみましょう:
トークンを取得するには、ホームページの直接要求Baiduの翻訳はそう、取るされていないので、タイムスタンプが同期していないので、しかし、それは次のようになります
self.session = requests.Session()
# Chrome : 设置-->高级-->内容设置-->cookie-->查看所有cookie和网站数据-->baidu.com的cookie
self.session.cookies.set('BAIDUID', '19288887A223954909730262637D1DEB:FG=1;'
self.session.cookies.set('PSTM', '%d;' % int(time.time()))
以下に示すように(でindex_9b62d56.js)に示すようにその符号を言い、記号は、JSコードによって生成されます。
:私たちが直接ホームページBaiduは、この値を取得するために、翻訳依頼という名前の変数のgtkの値を使用する必要の符号の値を計算する必要があり、この値を署名取得するexecjsパイソンjsのコードで実装プロセスで
だから我々は喜んで、書き込みのコードをすることができますクロールの実装内容Baiduの翻訳機能という。それはプロセスを破る、コードを見て行うには、非常に複雑です。
すべてのコードアドレス:https://github.com/Python3Spiders/BaiduSpider/tree/master/baidu_translation
Baiduのポストバーの爬虫類
Baiduのポストバーの爬虫類
次のプログラムは、効果を実行します
あなたは、最初の主要な技術的思想の下で、画像に貼り付け指定をダウンロードすることができます。
これらのクッキーは、他のページへのアクセスリンクは、画像を取得するが、これは間違いなくコードを追加しないだろう、クッキーを取得し、最初のBaiduのアカウントを上陸している期限内に、我々はより多くの1ページ以外のリクエストにしたい、とブラウズ画像が不格好な方法でログインしている必要がありヘッダを運びます量は、実際には、私たちの助けに良いパッケージseesionオブジェクトをライブラリを要求し、セッションはセッションを使用して、特定のパラメータを維持するために、要求間でセッションオブジェクトライブラリを要求成功したウェブサイトを記録し、再びセッションオブジェクトを使用して他のページのサイトを要求そのようなクッキーの使用などのセッションパラメータを使用する前に、デフォルト設定されます。
APIのセッションでは、また、ほとんど同じ要求は非常に簡単です。そのポスト法など。
session.post(url=url, data=ldata, headers=headers)
私は、これは、実際には、Baiduのアカウントのログインインタフェースをクラック流れを打破し、Baiduの翻訳の上、それをその様々なパラメータの意味について、話をし、それらを繰り返さないために類似しているために言ってみましょう。
data = {
'username': USER_NAME,
'password': PASSWORD,
'tpl': 'tb',
'u': 'https://tieba.baidu.com/index.html?traceid=#',
'staticpage': 'https://passport.baidu.com/static/passpc-account/html/v3Jump.html',
'isPhone': 'false',
'charset': 'utf-8',
'callback': 'parent.bd__pcbs__3rjsif'
}
ユーザ名と言うまでもなく自然のパスワードは、暗号化されている検索] password 'をデバッグするクロムのパスワード、口座番号やパスワードを、言って、暗号化アルゴリズムが見つかった、と後に直接暗号化されていないポスト、実際に成功をしようとされていない、暗号化だけでChromeを防ぐことにあると推定されています直接インターフェイスが自動的に暗号化されたパスワード、ポストバックを参照してください。
TPL:センターは、Baiduのアカウントからのものである場合、我々は百度からのログオンアカウントであることを結核ショーは、(T)バー(B)を貼り、それはPP(パスポート)です。
コールバック:コールバックが成功したインタフェースの投稿です。
二つのこと
まず最初に、私は正式に運用公共のこの時間数今年初めに始めた、この公開に関連する操作の数です、彼はいつもこの心から、多くの場合、レポートの盗作へのメッセージリマインダと助けを私に楽屋多くのファンを持っている、元の共有を行う上で主張しています移動し、そこにファンの数千人が広告内の記事をクリックして、ぶっきらぼうに言った、限り、あなたは指先のように、あなたがお金を稼ぐことができるということです、メインフローの開口部のしきい値に達し、現在、私は約束し、それが様々な形で返されますそのような物質交換赤い封筒としての私の愛するファンに、定期的に本を送って、私は金持ちにこのお金に頼らない、私は学校にいた、私は主に志を同じくする友人のグループを知って取得したいです。グループチャットに参加する「コミュニティ」を返信します。同時に、国民がこの数には歓迎されているあなたの側で友達に教えるこの中に感謝しました。
二つ目は、私は最近、オープンソース団体、Python3Spiders、すべてのオープンソースに関するデータの収集では、主にいくつかのオリジナル爬虫類、クロールやデータ分析プロジェクトを作成し、小さなパートナーが一緒にこの組織に参加することを歓迎している、あなたはまた、主演することができます(自分の足跡を残すことができ、問題秒に出願された)組織に開発者と貢献者になることができます。組織住所:https://github.com/Python3Spiders