day05 selenium库的基础使用
生活随笔
收集整理的這篇文章主要介紹了
day05 selenium库的基础使用
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
selenium請求庫實現(xiàn)爬取京東商品信息:
導(dǎo)入selenium庫
利用try-catch實現(xiàn)對是否能連接進行異常檢測與捕獲
get方式向京東主頁發(fā)送請求
通過id查找iput輸入框
send_kyes為當(dāng)前標簽傳值
通過send_keys按回車鍵實現(xiàn)查詢
通過find_elements_by_class_name爬取每個商品? ?利用循環(huán)遍歷取每個商品的名稱、url(通過session的get.Attribute()方法獲取)、價格和評價人數(shù):
find_element_by_css_selector('.p-name em').text?
? 最后存入jd.txt文件
關(guān)閉驅(qū)動
?
1 1 from selenium import webdriver 2 2 # 導(dǎo)入鍵盤Keys 3 3 from selenium.webdriver.common.keys import Keys 4 4 import time 5 5 6 6 driver = webdriver.Chrome() 7 7 8 8 # 檢測代碼塊 9 9 try: 10 10 # 隱式等待,等待標簽加載 11 11 driver.implicitly_wait(10) 12 12 13 13 # 往京東主頁發(fā)送請求 14 14 driver.get('https://www.jd.com/') 15 15 16 16 # 通過id查找input輸入框 17 17 input_tag = driver.find_element_by_id('key') 18 18 19 19 # send_keys為當(dāng)前標簽傳值 20 20 input_tag.send_keys('中華字典') 21 21 22 22 # 按鍵盤的回車鍵 23 23 input_tag.send_keys(Keys.ENTER) 24 24 25 25 time.sleep(3) 26 26 27 27 ''' 28 28 爬取京東商品信息: 29 29 公仔 30 30 名稱 31 31 url 32 32 價格 33 33 評價 34 34 ''' 35 35 # element 找一個 36 36 # elements 找多個 37 37 # 查找所有的商品列表 38 38 good_list = driver.find_elements_by_class_name('gl-item') 39 39 # print(good_list) 40 40 41 41 # 循環(huán)遍歷每一個商品 42 42 for good in good_list: 43 43 # 通過屬性選擇器查找商品詳情頁url 44 44 # url 45 45 good_url = good.find_element_by_css_selector('.p-img a').get_attribute('href') 46 46 print(good_url) 47 47 48 48 # 名稱 49 49 good_name = good.find_element_by_css_selector('.p-name em').text 50 50 print(good_name) 51 51 52 52 # 價格 53 53 good_price = good.find_element_by_class_name('p-price').text 54 54 print(good_price) 55 55 56 56 # 評價數(shù) 57 57 good_commit = good.find_element_by_class_name('p-commit').text 58 58 print(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 with open('jd.txt', 'a', encoding='utf-8') as f: 70 70 f.write(str1) 71 71 72 72 73 73 time.sleep(10) 74 74 75 75 # 捕獲異常 76 76 except Exception as e: 77 77 print(e) 78 78 79 79 # 最后都會把驅(qū)動瀏覽器關(guān)閉掉 80 80 finally: 81 81 driver.close()?
轉(zhuǎn)載于:https://www.cnblogs.com/cooperstar/p/11101280.html
總結(jié)
以上是生活随笔為你收集整理的day05 selenium库的基础使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我感觉这个书上的微信小程序登陆写得不好
- 下一篇: 哈夫曼树(最优树)及编码