python學習(re0)day 5
2019/6/28
一、前言
今天是學習python爬蟲的第五天
二、學習內容
1、導入selenium庫
from selenium import webdriver
2、導入Keys(鍵盤和鼠標控制)庫
from selenium.webdriver.common.keys import Keys
3、導入time庫
import time
4、異常
try: # 捕獲異常 except Exception as e: print(e) # 最后都會把驅動瀏覽器關閉掉 finally: driver.close()
5、f-string方法
#新方法(f-string) #從Python 3.6開始,f-string是格式化字符串的一種很好的新方法。與其他格式化方式相比,#它們不僅更易讀,更簡潔,不易出錯,而且速度更快! #1、在字符串前面加上 f。 #2、在字符串內部,將需要連接的變量用 {} 括起來即可。 #示例: a = f'input:{input},output:{output}'
三、作業
from selenium import webdriver # 導入鍵盤Keys from selenium.webdriver.common.keys import Keys import time driver = webdriver.Chrome() # 檢測代碼塊 try: # 隱式等待,等待標簽加載 driver.implicitly_wait(10) # 往京東主頁發送請求 driver.get('https://www.jd.com/') # 通過id查找input輸入框 input_tag = driver.find_element_by_id('key') # send_keys為當前標簽傳值 input_tag.send_keys('中華字典') # 按鍵盤的回車鍵 input_tag.send_keys(Keys.ENTER) time.sleep(3) ''' 爬取京東商品信息: 公仔 名稱 url 價格 評價 ''' # element 找一個 # elements 找多個 # 查找所有的商品列表 good_list = driver.find_elements_by_class_name('gl-item') # print(good_list) # 循環遍歷每一個商品 for good in good_list: # 通過屬性選擇器查找商品詳情頁url # url good_url = good.find_element_by_css_selector('.p-img a').get_attribute('href') print(good_url) # 名稱 good_name = good.find_element_by_css_selector('.p-name em').text print(good_name) # 價格 good_price = good.find_element_by_class_name('p-price').text print(good_price) # 評價數 good_commit = good.find_element_by_class_name('p-commit').text print(good_commit) str1 = f''' url: {good_url} 名稱: {good_name} 價格: {good_price} 評價: {good_commit} \n ''' # 把商品信息寫入文本中 with open('jd1.txt', 'a', encoding='utf-8') as f: f.write(str1) time.sleep(30) # 捕獲異常 except Exception as e: print(e) # 最后都會把驅動瀏覽器關閉掉 finally: driver.close()
四、總結
這個星期學習了python的爬蟲知識,但是因為沒有學習過前端的知識,比如css和html的知識.學起來有點步履維艱,但是在老師的指導下,還是成功爬取了梨視頻和豆瓣網的一些資源,今天也成功實現了從京東網上下載記錄.
浙公網安備 33010602011771號