IMDBのクロール情報ライブラリの要求を要求します
-要求の実施形態
GET -要求ヘッダ のUser-Agent クッキー
インポート要求が 再インポート デフget_page(URL): 応答 =リクエストを。取得(URL) の戻り応答 デフparse_index(HTML): movie_list = re.findall( 「。?。?。?<DIV CLASS = "アイテム"> * <EMクラス= "">(*)</ EM> * < HREF = "(*。?)"> * <スパンクラス= "タイトル"> </ span>の*导演。?(*。?):。?主演(*。?):(。*?)<BR >(。*?)</ P>。*?<スパンクラス= "rating_num"。*?>(。*?)</ span>を。*?<スパン>(。*?)人评价</ span>の。*?<スパンクラス= "INQ"> </ span>の(*。?)" 、 HTML、 re.S) を返すmovie_list デフsave_data(映画を): = year_type.strip(' \ N- ' ) データ = F '' ' =============================== 映画ランキング:{トップ} 動画のURL:{m_url} 映画名:{名前} 映画監督:{daoyan} 主演映画:{俳優} ジャンル:{year_type} 映画の評価:{ポイント} 映画のレビューは:{コミット} 映画を:{ } DESC =============================== \ N- '' ' 印刷(データ) を開きます(と' douban_top250.txt "、' A '、エンコード= ' UTF-8 ')AS F: f.write(データ) (F印刷' :{名前}写入成功...电影' ) 場合 __name__ == ' __main__ ' : NUM = 0 のためのラインで範囲(10 ): URL = F ' のhttps:// movie.douban.com/top250?start={num}&filter= 「 NUM + = 25 プリント(URL) index_res = get_page(URL) movie_list = parse_index(index_res.text) のための映画でmovie_list: save_data(動画)
2.なぜセレンを使うのか?
利点:
- jsのコードの実行
-複雑な通信プロセスを分析する必要はありません
-んポップアップ、プルダウンして、ブラウザ上の他の操作
- *****動的なデータを取得する
- ***ログイン認証をクラック
短所:
-低効率
3、インストールと使用
1.インストールセレン要求ライブラリ:
PIP3はセレンをインストール
2.ブラウザをインストールする必要があり
、「グーグル」またはFirefoxを
3.ブラウザのドライバをインストール
http://npm.taobao.org/mirrors/chromedriver/2.38/
:Windowsの
ダウンロードのWin32ドライブを
Jingdongはネットワーク・プロセスをクロールセレン要求ライブラリー
セレンインポートwebdriverを からselenium.webdriver.common.byインポートにより からselenium.webdriver.common.keysインポートキー から selenium.webdriver.supportインポートexpected_conditions としてEC からselenium.webdriver.support.waitインポートWebDriverWait インポート時間 インポート時間 ドライバ = webdriver.Chrome(R ' C:\ユーザーはHP \デスクトップ\のchromedriver.exeを\ ' ) してみてください: ドライバー。取得(' https://www.jd.com/ ' ) 待つ = WebDriverWait(ドライバ、10 ) input_tag = wait.until(EC.presence_of_element_located( (By.ID、' キー' ) )) time.sleep(5 ) input_tag.send_keys(' 公仔' ) input_tag.send_keys(Keys.ENTER) time.sleep(20 ) 最後に: driver.close()
Baiduのライブラリ爬虫類ログインセレン要求
セレン輸入webdriverを からselenium.webdriver.common.keysキーをインポート インポート時の インポート時 ドライバ = webdriver.Chrome(R ' はC:\ユーザーはHP \デスクトップ\のchromedriver.exeを\ ' ) してみてください: driver.implicitly_wait(10 ) ドライバー。取得(' https://www.baidu.com/ ' ) time.sleepを(5 ) LOGIN_LINK = driver.find_element_by_link_text(' 登录' ) login_link.click() time.sleep(1 ) USER_LOGIN = driver.find_element_by_id(' TANGRAM__PSP_10__footerULoginBtn ' ) user_login.click() time.sleep(1 ) #3 、find_element_by_class_name ユーザ = driver.find_element_by_class_name(' パステキスト入力ユーザ名' ) user.send_keys(「QQ @ 1847702753。 COM ' ) #4 、find_element_by_name PWD = driver.find_element_by_name(' パスワード' ) pwd.send_keys(' ***** ") 提出 = driver.find_element_by_id(' TANGRAM__PSP_10__submit ' ) submit.click() LOGIN_LINK = driver.find_element_by_partial_link_text(' 登' ) login_link.click() login2_link = driver.find_element_by_css_selector(' .tang域通過footerBarULogin ' ) login2_link.click( ) DIV = driver.find_elements_by_tag_name(' DIV ' ) プリント(DIV) time.sleep(20 ) 最後に: driver.close()