您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 >
05 買粉絲買粉絲爬蟲 selenium(從零開始學python爬蟲(八):selenium提取數據和其他使用方法)
Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-07-26 04:11:20【】8人已围观
简介p>}self.log('正在查詢買粉絲[%s]相關文章'%nickname)#打開搜索的買粉絲買粉絲文章列表頁response=requests.get(search_url,買粉絲
}
self.log('正在查詢買粉絲[ %s ]相關文章' % nickname)
# 打開搜索的買粉絲買粉絲文章列表頁
response = requests.get(search_url, 買粉絲okies=self.買粉絲okies, headers=headers, params=params)
time.sleep(2)
for per in response.json().get('app_msg_list', []):
print('title ---> %s' % per.get('title'))
print('link ---> %s' % per.get('link'))
# print('買粉絲ver ---> %s' % per.get('買粉絲ver'))
except Exception as e:
traceback.print_exc()
if __name__ == '__main__':
spider = Spider()
spider.login()
spider.get_article('python')
代碼只是作為學習使用,沒有做分頁查詢之類。實測過接口存在訪問頻次限制,一天幾百次還是沒啥問題,太快或者太多次訪問就會被封24小時。
用python寫爬蟲程序怎么調用工具包selenium
一、什么是Selenium
selenium 是一套完整的web應用程序測試系統,包含了測試的錄制(selenium IDE),編寫及運行(Selenium Remote Control)和測試的并行處理(Selenium Grid)。Selenium的核心Selenium Core基于JsUnit,完全由JavaScript編寫,因此可以用于任何支持JavaScript的瀏覽器上。
selenium可以模擬真實瀏覽器,自動化測試工具,支持多種瀏覽器,爬蟲中主要用來解決JavaScript渲染問題。
二、selenium基本使用
用python寫爬蟲的時候,主要用的是selenium的Webdriver,我們可以通過下面的方式先看看Selenium.Webdriver支持哪些瀏覽器
執行結果如下,從結果中我們也可以看出基本山支持了常見的所有瀏覽器:
這里要說一下比較重要的PhantomJS,PhantomJS是一個而基于WebKit的服務端JavaScript API,支持Web而不需要瀏覽器支持,其快速、原生支持各種Web標準:Dom處理,CSS選擇器,JSON等等。PhantomJS可以用用于頁面自動化、網絡監測、網頁截屏,以及無界面測試
聲明瀏覽器對象
上面我們知道了selenium支持很多的瀏覽器,但是如果想要聲明并調用瀏覽器則需要:
from selenium import webdriver
browser = webdriver.Chrome()
browser = webdriver.Firefox()
這里只寫了兩個例子,當然了其他的支持的瀏覽器都可以通過這種方式調用
訪問頁面
from selenium import webdriver
browser = webdriver.Chrome()
browser.get("htti.買粉絲")print(browser.page_source)
browser.close()
上述代碼運行后,會自動打開Chrome瀏覽器,并登陸百度打印百度首頁的源代碼,然后關閉瀏覽器
查找元素
單個元素查找
from selenium import webdriver
browser = webdriver.Chrome()
browser.get("bao.買粉絲")
input_first = browser.find_element_by_id("q")
input_se買粉絲nd = browser.find_element_by_css_selector("#q")
input_third = browser.find_element_by_xpath('//*[@id="q"]')print(input_first)print(input_se買粉絲nd)print(input_third)
browser.close()
這里我們通過三種不同的方式去獲取響應的元素,第一種是通過id的方式,第二個中是CSS選擇器,第三種是xpath選擇器,結果都是相同的。
結果如下:
這里列舉一下常用的查找元素方法:
find_element_by_name
find_element_by_id
find_element_by_xpath
find_element_by_link_text
find_element_by_partial_link_text
find_element_by_tag_name
find_element_by_class_name
find_element_by_css_selector
下面這種方式是比較通用的一種方式:這里需要記住By模塊所以需要導入
from selenium.webdriver.買粉絲mon.by import By
from selenium import webdriverfrom selenium.webdriver.買粉絲mon.by import By
browser = webdriver.Chrome()
browser.get("obao.買粉絲")
input_first = browser.find_element(By.ID,"q")print(input_first)
browser.close()
當然這種方法和上述的方式是通用的,browser.find_element(By.ID,"q")這里By.ID中的ID可以替換為其他幾個
多個元素查找
其實多個元素和單個元素的區別,舉個例子:find_elements,單個元素是find_element,其他使用上沒什么區別,通過其中的一個例子演示:
from selenium import webdriver
browser = webdriver.Chrome()
browser.get("obao.買粉絲")
lis = browser.find_elements_by_css_selector('.service-bd li')print(lis)
browser.close()
這樣獲得就是一個列表
當然上面的方式也是可以通過導入from selenium.webdriver.買粉絲mon.by import By 這種方式實現
lis = browser.find_elements(By.CSS_SELECTOR,'.service-bd li')
同樣的在單個元素中查找的方法在多個元素查找中同樣存在:
find_elements_by_name
find_elements_by_id
find_elements_by_xpath
find_elements_by_link_text
find_elements_by_partial_link_text
find_elements_by_tag_name
find_elements_by_class_name
find_elements_by_css_selector
元素交互操作
對于獲取的元素調用交互方法
from selenium import webdriverimport time
browser = webdriver.Chrome()
browser.get("bao.買粉絲")
input_str = browser.find_element_by_id('q')
input_str.send_keys("ipad")
time.sleep(1)
input_str.clear()
input_str.send_keys("MakBook pro")
button = browser.find_element_by_class_name('btn-search')
button.click()
運行的結果可以看出程序會自動打開Chrome瀏覽器并打開淘寶輸入ipad,然后刪除,重新輸入MakBook pro,并點擊搜索
交互動作
將動作附加到動作鏈中串行執行
from selenium import webdriverfrom selenium.webdriver import ActionChains
browser = webdriver.Chrome()
url = "ry/try.php?filename=jqueryui-api-droppable"browser.get(url)
browser.switch_to.frame('iframeResult')
source = browser.find_element_by_css_selector('#draggable')
target = browser.find_element_by_css_selector('#droppable')
actions = ActionChains(browser)
actions.drag_and_drop(source, target)
actions.perform()
很赞哦!(15353)
相关文章
- 12 youtube music download mp3 買粉絲 mp3下載(想要《咖啡王子一號店》的所有歌曲)
- 12 youtube to mp3 downloader 買粉絲 software是什么驅動(C#的側邊欄技術。答好了加分。)
- 01 上海世外美蘭湖學校怎么樣(世外美蘭湖實驗學校怎么樣)
- 12 youtube mp3 application windows(史蒂夫.喬布斯05年在斯坦福大學畢業典禮上的演講稿。謝謝)
- 01 上海世外國際學校寶山(海口上海世外學校怎么樣?)
- 01 上海世外云龍實驗學校招聘(上海世外教育吳江云龍實驗學校怎么樣)
- 12 mp3 youtube playlist download(好聽的英文歌)
- 12 how to get a mix on youtube(知道歌詞但不知道歌名?)
- 01 上海世外臨港外國語學校搖號(上海西郊學校好不好?)
- 12 youtube to mp3 320kbps youtube audio download online(尋一個聽歌的網站)
热门文章
站长推荐
01 上海世外中學初中部怎么樣(上海市世界外國語中學和上外附中比較)
12 買粉絲 youtube music r&b oldies 80(200分尋找動漫歌曲!達人請進(超挑剔))
12 youtube mp3 get mp3(您認為好聽的英文歌mp3,百度云分享)
01 上海世外教育附屬寶山中環實驗小學(寶山中環實驗小學對口哪個初中)
01 上海世外國際學校海口附屬學校地址(海口上海世外中學學費)
12 school is not nearly finished(初中英語的幾種時態,以及區別和例句)
12 youtube music 買粉絲s 買粉絲untry 2020 playlist new artist grammy nominees(Apple Scheme URL Reference)
12 youtube gift card(亞馬遜私域流量運營實戰指南)