Baidu キーワード ランキングをクエリするためのシンプルな Python 関数、特徴:
1. UA ランダム
2. シンプルで便利な操作、単に getRank (キーワード、ドメイン名) を直接実行します
3.コーディングに問題はないはずです。
4. 豊富な結果。ランキングだけでなく、検索結果のタイトル、URL、スナップショット時間も表示され、SEO ニーズを満たします
欠点:
シングルスレッド、遅い
#coding=utf-8 import requests import BeautifulSoup import re import random def decodeAnyWord(w): try: w.decode('utf-8') except: w = w.decode('gb2312') else: w = w.decode('utf-8') return w def createURL(checkWord): #create baidu URL with search words checkWord = checkWord.strip() checkWord = checkWord.replace(' ', '+').replace('\n', '') baiduURL = 'http://www.baidu.com/s?wd=%s&rn=100' % checkWord return baiduURL def getContent(baiduURL): #get the content of the serp uaList = ['Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+.NET+CLR+1.1.4322;+TencentTraveler)', 'Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+.NET+CLR+2.0.50727;+.NET+CLR+3.0.4506.2152;+.NET+CLR+3.5.30729)', 'Mozilla/5.0+(Windows+NT+5.1)+AppleWebKit/537.1+(KHTML,+like+Gecko)+Chrome/21.0.1180.89+Safari/537.1', 'Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1)', 'Mozilla/5.0+(Windows+NT+6.1;+rv:11.0)+Gecko/20100101+Firefox/11.0', 'Mozilla/4.0+(compatible;+MSIE+8.0;+Windows+NT+5.1;+Trident/4.0;+SV1)', 'Mozilla/4.0+(compatible;+MSIE+8.0;+Windows+NT+5.1;+Trident/4.0;+GTB7.1;+.NET+CLR+2.0.50727)', 'Mozilla/4.0+(compatible;+MSIE+8.0;+Windows+NT+5.1;+Trident/4.0;+KB974489)'] headers = {'User-Agent': random.choice(uaList)} ipList = ['202.43.188.13:8080', '80.243.185.168:1177', '218.108.85.59:81'] proxies = {'http': 'http://%s' % random.choice(ipList)} r = requests.get(baiduURL, headers = headers, proxies = proxies) return r.content def getLastURL(rawurl): #get final URL while there're redirects r = requests.get(rawurl) return r.url def getAtext(atext): #get the text with <a> and </a> pat = re.compile(r'<a .*?>(.*?)</a>') match = pat.findall(atext) pureText = match[0].replace('<em>', '').replace('</em>', '') return pureText def getCacheDate(t): #get the date of cache pat = re.compile(r'<span class="g">.*?(\d{4}-\d{1,2}-\d{1,2}) </span>') match = pat.findall(t) cacheDate = match[0] return cacheDate def getRank(checkWord, domain): #main line checkWord = checkWord.replace('\n', '') checkWord = decodeAnyWord(checkWord) baiduURL = createURL(checkWord) cont = getContent(baiduURL) soup = BeautifulSoup.BeautifulSoup(cont) results = soup.findAll('table', {'class': 'result'}) #find all results in this page for result in results: checkData = unicode(result.find('span', {'class': 'g'})) if re.compile(r'^[^/]*%s.*?' %domain).match(checkData): #改正则 nowRank = result['id'] #get the rank if match the domain info resLink = result.find('h3').a resURL = resLink['href'] domainURL = getLastURL(resURL) #get the target URL resTitle = getAtext(unicode(resLink)) #get the title of the target page rescache = result.find('span', {'class': 'g'}) cacheDate = getCacheDate(unicode(rescache)) #get the cache date of the target page res = u'%s, 第%s名, %s, %s, %s' % (checkWord, nowRank, resTitle, cacheDate, domainURL) return res.encode('gb2312') break else: return '>100' domain = 'www.douban.com' #set the domain which you want to search. f = open('r.txt') for w in f.readlines(): print getRank(w, domain) f.close()

LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

この記事では、Pythonライブラリである美しいスープを使用してHTMLを解析する方法について説明します。 find()、find_all()、select()、およびget_text()などの一般的な方法は、データ抽出、多様なHTML構造とエラーの処理、および代替案(SEL

Pythonの統計モジュールは、強力なデータ統計分析機能を提供して、生物統計やビジネス分析などのデータの全体的な特性を迅速に理解できるようにします。データポイントを1つずつ見る代わりに、平均や分散などの統計を見て、無視される可能性のある元のデータの傾向と機能を発見し、大きなデータセットをより簡単かつ効果的に比較してください。 このチュートリアルでは、平均を計算し、データセットの分散の程度を測定する方法を説明します。特に明記しない限り、このモジュールのすべての関数は、単に平均を合計するのではなく、平均()関数の計算をサポートします。 浮動小数点数も使用できます。 ランダムをインポートします インポート統計 fractiから

この記事では、深い学習のためにTensorflowとPytorchを比較しています。 関連する手順、データの準備、モデルの構築、トレーニング、評価、展開について詳しく説明しています。 特に計算グラップに関して、フレームワーク間の重要な違い

この記事では、numpy、pandas、matplotlib、scikit-learn、tensorflow、django、flask、and requestsなどの人気のあるPythonライブラリについて説明し、科学的コンピューティング、データ分析、視覚化、機械学習、Web開発、Hの使用について説明します。

この記事では、コマンドラインインターフェイス(CLI)の構築に関するPython開発者をガイドします。 Typer、Click、Argparseなどのライブラリを使用して、入力/出力の処理を強調し、CLIの使いやすさを改善するためのユーザーフレンドリーな設計パターンを促進することを詳述しています。

PythonのPandasライブラリを使用する場合、異なる構造を持つ2つのデータフレーム間で列全体をコピーする方法は一般的な問題です。 2つのデータがあるとします...

この記事では、Pythonにおける仮想環境の役割について説明し、プロジェクトの依存関係の管理と競合の回避に焦点を当てています。プロジェクト管理の改善と依存関係の問題を減らすための作成、アクティベーション、およびメリットを詳しく説明しています。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 中国語版
中国語版、とても使いやすい

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

メモ帳++7.3.1
使いやすく無料のコードエディター

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

ホットトピック



