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