1.クロール商品情報Jingdongは
機能:すべての情報がクロールされるまで次のクロールクロールの完了後、Jingdongは上のすべての製品情報をクロールされる「マーフィーの法則」を検索
セレンインポートwebdriverを から selenium.webdriver.common.keys インポートキー から selenium.webdriver.common.byのインポートによって インポート時間 DEF :get_good(ドライバ) 数 = 1 トライ: time.sleep( 5 ) js_code = ''」 ウィンドウ。 scrollTo(0,5000) '' ' driver.execute_script(js_code) time.sleep( 5 ) good_list = driver.find_elements_by_class_name(' GL-アイテム' ) のために良いでgood_list: good_name = good.find_element_by_css_selector(' .P名EM ' ).textの good_url = good.find_element_by_css_selector(' .P-名A ').get_attribute(' HREF " ) good_price = good.find_element_by_class_name(' P-価格' ).textの good_commit = good.find_element_by_class_name(' P-コミット' ).textの good_content = F'' ' 数:{数} 製品名:{good_name} 製品リンク:{good_url} 商品価格:{good_price} 製品レビュー:good_commit} { \ N- ' '' 印刷(good_content) オープンと(' jd3.text '、' A '、エンコード= ' UTF-8 ' )、F AS: f.write(good_content) 数 + = 1。 プリント(" 正常に書き込まれた商品情報!! " ) next_tag = driver.find_element_by_class_name('PN-次' ) next_tag.click() time.sleep( 5 ) get_good(ドライバ) 最後に: driver.close() の場合 __name__ == ' __main__ " : ドライバは = webdriver.Chrome() してみてください: driver.implicitly_wait( 10 ) driver.get(' https://www.jd.com/ ' ) input_tag = driver.find_element_by_id(' キー' ) input_tag.send_keys(' 墨菲定律" ) input_tag.send_keys(Keys.ENTER) get_good(ドライバ) 最後に: driver.close()
部分的な結果は、スクリーンショットを示しています。
2.要素は、指定された場所にドラッグ
2.1インスタントドラッグ
セレン輸入webdriverを から selenium.webdriver.common.keys インポートキー から selenium.webdriverのインポート ActionChains インポート時の ドライバー = webdriver.Chromeを() してみてください: driver.implicitly_wait( 10 ) driver.get(「HTTPS://www.runoobを。 COM / try.php?ファイル名= jqueryui-API-ドロップ可能な/してみてください' ) time.sleep( 5 ) driver.switch_to.frame(' iframeResult " ) time.sleep( 1) ソース = driver.find_element_by_id(' ドラッグ' ) 目標 = driver.find_element_by_id(' ドロップ可能' ) ActionChains(ドライバ).drag_and_drop(ソース、ターゲット).perform() time.sleep( 10 ) 最後に: driver.close()
2.2動きの遅いです
セレン輸入webdriverを から selenium.webdriver.common.keys インポートキー から selenium.webdriverのインポート ActionChains インポート時の ドライバー = webdriver.Chromeを() してみてください: driver.implicitly_wait( 10 ) driver.get(「HTTPS://www.runoobを。 COM /試す/ try.php?ファイル名= jqueryui-API-ドロップ可能な' ) time.sleep( 5 ) driver.switch_to.frame(' iframeResult " ) time.sleep( 1 ) ソース = driver.find_element_by_id(' ドラッグ' ) 目標 = driver.find_element_by_id(' ドロップ可能' ) までの距離 = target.location [ ' X ' ] -source.location [ ' X ' ] ActionChains(ドライバ).click_and_hold(ソース).perform () S = 0 一方の< 距離: ActionChains(ドライバ).move_by_offset(XOFFSET = 5、YOFFSET = 0).perform() S + = 5 time.sleep( 0.1 ) ActionChains(ドライバ).release()()を実行する。 time.sleep( 10 ) 最後に: driver.close()
3.BeautifulSoup4
html_doc = ""」 <HTML> <HEAD> <TITLE>ヤマネの物語</ TITLE> </ HEAD> <BODY> <Pクラス= "姉妹"> <B> $、37 </ B> </ P> <Pクラス=「物語」ID =「P」>一度3人の妹があった時間に、自分の名前だったと <a href="http://example.com/elsie" class="sister">エルシー</ A >、 <a href="http://example.com/lacie" class="sister" id="link2">レイシー</a>と <HREF = "http://example.com/tillie"クラス= "姉妹" ID = "LINK3"> Tillie </a>に; 。そして、彼らはの底に住んでいただけでなく、</ P> <Pクラス= "物語"> ... </ P> ""」 から BS4の輸入BeautifulSoup スープ = BeautifulSoup(html_doc、' lxmlの' ) #1.直接使用 #の印刷(soup.html) #1 (タイプ(soup.html)の)印刷 #1 印刷(soup.a) #の印刷(soup.p) #2は、名前タグ得る #1 (soup.a.nameプリント) #プロパティタグ3のGet #の印刷(soup.a.attrs) #の印刷(soup.a.attrs [ 'のhref']) #の印刷(soup.a.attrs [ 'クラス']) #4のGetタグテキストコンテンツ #1 印刷(soup.p.text) #5ネストされた選択 #1 印刷(soup.html.body.p) #6子ノード、子孫ノード #1 印刷(soup.p.children)#は、イテレータを返しますオブジェクト #の印刷(一覧(soup.p.children)) #7。親、祖先ノード #プリント(soup.b.parent) #プリント(soup.b.parents) #の印刷(リスト(soup.b.parents))
要約:
見つける:最初の外観を
find_all:すべて見つけます
名前---名札
マッチを見つけるためattrsに-----プロパティ
テキストマッチテキスト-----
タグ:
------グローバル文字列照合フィルタ文字列
定期的なフィルター------
マッチングモジュールの再
------リストフィルタ
リストに一致するデータ
------ BOOLフィルタ
真の一致
フィルタ法------
いくつかのプロパティのためにとプロパティを探す必要はありません
属性:
-clas-
-id-