成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Python爬蟲的第二種姿勢,Selenium框架案例講解

開發 后端
本篇給大家詳解Python爬蟲的第二種姿勢,Selenium框架案例的相關內容,希望對你有所幫助!

[[390411]]

selenium使用流程:

1.環境安裝:

  1. pip install selenium 

2.下載一個瀏覽器的驅動程序(谷歌瀏覽器)

3.實例化一個瀏覽器對象基本使用

代碼

  1. from selenium import webdriver 
  2. from lxml import etree 
  3. from time import sleep 
  4.  
  5. if __name__ == '__main__'
  6.  
  7.     bro = webdriver.Chrome(r"E:\google\Chrome\Application\chromedriver.exe"
  8.     bro.get(url='http://scxk.nmpa.gov.cn:81/xk/'
  9.  
  10.     page_text = bro.page_source 
  11.     tree = etree.HTML(page_text) 
  12.     li_list = tree.xpath('//*[@id="gzlist"]/li'
  13.     for li in li_list: 
  14.         name = li.xpath('./dl/@title')[0] 
  15.         print(name
  16.     sleep(5) 
  17.     bro.quit() 

 基于瀏覽器自動化的操作代碼

#編寫基于瀏覽器自動化的操作代碼

  • 發起請求: get(url)
  • 標簽定位: find系列的方法
  •  標簽交互: send_ keys( 'xxx' )
  •  執行js程序: excute_script('jsCod')
  •  前進,后退: back(),forward( )
  •  關閉瀏覽器: quit()1

代碼

  1. https://www.taobao.com/ 
  2.  
  3. from selenium import webdriver 
  4. from time import sleep 
  5.  
  6. bro = webdriver.Chrome(executable_path=r"E:\google\Chrome\Application\chromedriver.exe"
  7.  
  8. bro.get(url='https://www.taobao.com/'
  9.  
  10. #標簽定位 
  11. search_input = bro.find_element_by_id('q'
  12. sleep(2) 
  13. #執行一組js代碼,使得滾輪向下滑動 
  14. bro.execute_script('window.scrollTo(0,document.body.scrollHeight)'
  15. sleep(2) 
  16. #標簽交互 
  17. search_input.send_keys('女裝'
  18. button = bro.find_element_by_class_name('btn-search'
  19. button.click() 
  20.  
  21. bro.get('https://www.baidu.com'
  22. sleep(2) 
  23. bro.back() 
  24. sleep(2) 
  25. bro.forward() 
  26. sleep(5) 
  27. bro.quit() 

 selenium處理iframe:

  •  如果定位的標簽存在于iframe標簽之中,則必須使用switch_to.frame(id)
  •  動作鏈(拖動) : from selenium. webdriver import ActionChains
  •  實例化一個動作鏈對象: action = ActionChains (bro)
  •  click_and_hold(div) :長按且點擊操作
  •  move_by_offset(x,y)
  •  perform( )讓動作鏈立即執行
  •  action.release( )釋放動作鏈對象

代碼

  1. https://www.runoob.com/try/try.php?filename=jqueryui-api-droppable 
  2.  
  3. from selenium import webdriver 
  4. from time import sleep 
  5. from selenium.webdriver import ActionChains 
  6. bro = webdriver.Chrome(executable_path=r"E:\google\Chrome\Application\chromedriver.exe"
  7.  
  8. bro.get('https://www.runoob.com/try/try.php?filename=jqueryui-api-droppable'
  9.  
  10. bro.switch_to.frame('iframeResult'
  11.  
  12. div = bro.find_element_by_id('draggable'
  13.  
  14. #動作鏈 
  15. action = ActionChains(bro) 
  16. action.click_and_hold(div) 
  17.  
  18. for i in range(5): 
  19.     action.move_by_offset(17,0).perform() 
  20.     sleep(0.3) 
  21.  
  22. #釋放動作鏈 
  23. action.release() 
  24.  
  25. bro.quit() 

 selenium模擬登陸QQ空間

代碼

  1. https://qzone.qq.com/ 
  2.  
  3. from selenium import webdriver 
  4. from time import sleep 
  5.  
  6.  
  7. bro = webdriver.Chrome(executable_path=r"E:\google\Chrome\Application\chromedriver.exe"
  8. bro.get('https://qzone.qq.com/'
  9. bro.switch_to.frame("login_frame"
  10.  
  11. switcher = bro.find_element_by_id('switcher_plogin'
  12. switcher.click() 
  13.  
  14. user_tag = bro.find_element_by_id('u'
  15. password_tag = bro.find_element_by_id('p'
  16. user_tag.send_keys('1234455'
  17. password_tag.send_keys('qwer123'
  18. sleep(1) 
  19.  
  20. but = bro.find_element_by_id('login_button'
  21. but.click() 

 無頭瀏覽器和規避檢測

代碼

  1. from  selenium import webdriver 
  2. from time import sleep 
  3. #實現無可視化界面 
  4. from selenium.webdriver.chrome.options import Options 
  5. #實現規避檢測 
  6. from selenium.webdriver import ChromeOptions 
  7.  
  8. #實現無可視化界面 
  9. chrome_options = Options() 
  10. chrome_options.add_argument('--headless'
  11. chrome_options.add_argument('--disable-gpu'
  12. #實現規避檢測 
  13. option = ChromeOptions() 
  14. option.add_experimental_option('excludeSwitches',['enable-automation']) 
  15.  
  16. bro = webdriver.Chrome(executable_path=r"E:\google\Chrome\Application\chromedriver.exe",chrome_options=chrome_options,options=option
  17.  
  18. bro.get('https://www.baidu.com'
  19. print(bro.page_source) 
  20. sleep(2) 
  21. bro.quit() 

 【編輯推薦】

 

責任編輯:姜華 來源: 今日頭條
相關推薦

2017-12-28 15:20:50

2009-10-23 17:35:16

linux進程管理

2009-08-24 17:24:28

C#創建XML文檔

2009-10-28 13:44:40

linux庫文件路徑

2014-04-21 10:25:01

大數據

2020-12-09 10:15:34

Pythonweb代碼

2017-06-28 15:06:51

PythonLambda函數

2020-12-23 10:10:23

Pythonweb代碼

2022-07-07 10:33:27

Python姿勢代碼

2022-06-22 09:44:41

Python文件代碼

2023-11-11 19:34:30

攝像頭慢直播

2017-05-15 21:00:15

大數據Scrapy爬蟲框架

2017-10-26 15:17:06

Python爬蟲框架歌曲下載

2022-12-12 08:22:51

2021-02-23 09:54:22

M1蘋果電腦惡意軟件銀雀

2022-07-18 14:33:05

PythonPDF報告

2021-09-06 15:31:01

鴻蒙HarmonyOS應用

2022-02-18 11:26:23

日志程序Linux

2020-05-08 13:24:57

Windows下載執行

2010-01-08 10:52:17

Ubuntu VMwa
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品欧美一区二区中文字幕视频 | 精品成人佐山爱一区二区 | 精品国产伦一区二区三区观看方式 | 亚洲成av人影片在线观看 | 在线一区| 国产成人精品一区二三区在线观看 | 99久久精品免费视频 | a级黄色片在线观看 | 亚洲风情在线观看 | 免费一级片 | av在线免费观看网站 | 91香蕉视频在线观看 | 二区av| 久久久久久久久久久国产 | 亚洲精品久久久久中文字幕欢迎你 | 日韩一区二区三区在线 | 午夜在线观看视频 | 在线观看中文字幕 | 色先锋影音| 成人免费视频网站在线观看 | 亚洲国产精品日韩av不卡在线 | 久久国产欧美日韩精品 | 黄色网址免费看 | 久久亚洲国产精品 | 精品无码久久久久久国产 | 国产精品免费一区二区三区四区 | 淫片一级国产 | 国产精品久久欧美久久一区 | 国产精品久久久久久久久久免费看 | 精品国产一区二区三区在线观看 | 国产最好的av国产大片 | 操操操操操 | 久久激情五月丁香伊人 | 亚洲资源站 | 亚洲精品女人久久久 | aaaa一级毛片 | 黄色一级免费看 | 日本黄色一级片视频 | 成人精品高清 | 日韩欧美在线观看 | 精品国产一区二区三区av片 |