I.はじめに
私は、ドメイン名の一部に前回の記事で収集し、これらのドメインに収集した後、すべてのドメインが役割を持っていない、我々はフィルタリングする必要があり、サイトにアクセスすることはできません、スタートクロムのサイトを要求するために、セレンモジュールで、今日の使用はPythonを学ぶので、次はあなた自身の学習プロセスを記録します。
第二に、学習プロセス
1.開発ツール:
Pythonのバージョン:3.7.1
関連モジュール:
セレンモジュール pymysqlモジュール
2.はじめに原則
データベースに保存されているセレンを使用してアクセスするデータベースの必要性から、ドメイン名の読み取りは------ウェブサイトのドメイン名を訪問し、タイトル、コンテンツの長さ、スクリーンショットを取得------
セレンwebdriverをインポート selenium.webdriver.chrome.optionsからのインポートオプション インポートpymysqlの #は、実行可能なドメイン取得 :DEF RUN(カーソル) #ドメイン名取得 ドメイン= get_domains(カーソル) #クロームパラメータオプション chrome_options =オプション() #ヘッドレス操作を chrome_options.add_argument( ' -ヘッドレス') #クロム動作するように、このパスを使用して chrome_options.binary_location R&LT = '%S' % "/アプリケーション/ Chromium.app /目次/ MacOSの/クロム" #インスタンスを作成クロム ドライバ= webdriverを.chrome(executable_path =(R&LT '/ユーザ/ハロー/デスクトップ/ chromedriver / chromedriver')、オプション= chrome_options) #は、20秒のタイムアウト時間を設定 driver.set_page_load_timeout(20) success_list = [] ドメインIのためにある: ドメイン名に#のデータベースクエリを 試してみる: #请求网站 driver.get( 'https://で' + I [0]) #获取网站的信息 http_length = LEN(driver.page_source) HTTP_STATUS = '响应成功' img_path =「/ユーザ/ハロー/デスクトップ/ PY試験/%s.png「%I [0] スクリーンショット= driver.get_screenshot_as_file(img_path) 場合driver.title: タイトル= driver.title 他: タイトル= '' success_list.append([I [0]は、タイトル、http_length 、img_path、HTTP_STATUS]) を除く: 印刷( '%sの响应失败' %I [0]) 戻りsuccess_list get_domains DEF(カーソル): SQL = "SELECT FROM数据库ホスト名" cursor.execute(SQL) domain_lists = cursor.fetchall() の戻りdomain_lists #把可访问的域名插入数据库 デフ挿入(カーソル、リスト、DB): I中のためリスト: %I [0] "数据库ホスト名= '%S' FROM SELECT ID" select_sql = cursor.execute(select_sql) 結果= cursor.fetchone() update_sql =「UPDATE数据库SET PAGE_TITLE = '%s'は、http_length = %のD、page_jietu_path = '%s'は、HTTP_STATUS = '%s'はID =%S」%(I [1]、I [2]、I [3]、I [4]結果[0]) カーソル.execute(update_sql) db.commit() __name__ == "__main__"の場合: DB = pymysql.connect( 'ローカルホスト'、 ' アカウント'、 'パスワード'、 '試験')) カーソル= db.cursor() リストRUN =(カーソル) INSERT(カーソル、リスト、DB) db.Close()
第三に、結果は
IVの概要
プログラムが強化する必要があるのプログラミング、遅いです。