使用day05セレンライブラリに基づいて、

Jingdongはライブラリの実装要求の製品情報をクロールセレン:
    セレンライブラリを導入

    try-catch接続を使用すると、異常検出キャプチャするかどうかを達成することができます

    Jingdongはは家を取得するための要求を送ります

    iput入力ボックスは、IDで検索します

    値によって現在のラベルをsend_kyes

    send_keysによってクエリのEnterキーを押してください

    クロールして、各項目をFind_elements_by_class_name           

      商品を使用して各ループの名前を取り、URL、価格と評価の数(()メソッドは、get.Attributeのセッションを介して取得します):

    find_element_by_css_selector( 'P-名EM')。テキスト

 

     最後に、ファイルが保存されているjd.txt

    閉じるドライブ

 

 
1   。1 からセレンインポートwebdriverを
 2つの   2 導入キーボードのキー
。3   。3 から selenium.webdriver.common.keys インポートキー
 4   。4 インポート時間
 。5   。5 
 。6   。6ドライバ= webdriver.Chrome()
 。7   。7 
 。8   。8 #の検出コードブロック
。9   。9 トライ10 10      暗黙待ち、ローディングラベル待つ
。11。11 driver.implicitly_wait(10 12は 12であり、 
 13は13      要求Jingdongのホームを送信するために
14 14 driver.get(' https://www.jd.com/ ' 15の 15 
 16 16      #は、入力ボックスIDの入力を探す
。17。17 input_tag = driver.find_element_by_id(' キー' 18であります 18である 
 。19。19      send_keysタグの現在の値渡し
20は 20 input_tag.send_keysある(' 中国語辞書' 21は 21である 
 22は 22である      #を押して、キーボードのEnterキー
23は 23である     input_tag.send_keys(Keys.ENTER)
 2424 
 25 25 time.sleep(3。 26が 26である 
 27 27      '' ' 
28  :Jingdongのクロール28製品情報
 29  29人形
 30  30タイトル
 31は、 31をURLである
 32  32価格
 33である 33が評価される
 34は さ34      ''' 
35 35      #を見つけるために、要素を
36 36      要素を見つける複数の
37 [ 37 [      すべての製品のリストを探す
38である 38 good_list = driver.find_elements_by_class_nameある(' GL-アイテム' 39 39      プリント(good_list)
40 40 
 41である 41は、      #の各アイテムをループ
42がある42      のために良好good_list:
 43であり、 43は          #のurl属性セレクタで検索商品詳細ページ
44が 44である          #のURL 
45 45 good_url = good.find_element_by_css_selector(' 。 IMG A-P ').get_attribute(' のhref ' 46は 46である          プリント(good_url)
 47 47 
 48 48          名称
49 49 good_name = good.find_element_by_css_selector(' .P名EM ' )の.text
 50 50          プリント(good_name)
 51 51 
 52 52          价格
53 53 good_price = good.find_element_by_class_name(' P-価格' )の.text
 54 54          印刷(good_price)
 55 55 
 56 56          评价数
57 57 good_commit = good.find_element_by_class_name(' P-コミット' )の.text
58 58          印刷(good_commit)
 59 59 
 60 60 
 61である 61 STR1 = Fれる'' ' 
62は、 62 URLである:{good_url}
 63は 63名である:{good_name}
 64  64価格:{good_price}
 65  65評価:{good_commit}
 66  66 \ N-
 67  67          '' ' 
68 68          商品情報書かれたテキスト
69を開くと69(' jd.txt ' ' A 'エンコーディング= ' UTF-8。" F AS)。
70 70              f.write(0009)
 71が 71である 
 72 72 
 73である 73 time.sleep(10 74の 74 
 75 75 キャッチ例外
76 76を除くE AS例外:
 77 77      印刷(E)
 78 78 
 79 79 #は、最終的に閲覧を駆動します閉鎖
80 80 遂に81)(81 driver.close

 

おすすめ

転載: www.cnblogs.com/cooperstar/p/11101280.html