request模塊中的方法

Requests

import requests

url='http://example.test/secret'`

response=requests.get(url,auth=('dan','h0tdish'))`

response.status_code`

200

response.content`

u``'Welcome to the secret page!'

|

只是在調(diào)用方法的時候增加了一個auth關(guān)鍵字函數(shù)
我敢打賭你不用查文檔也能記住帆锋。

錯誤處理 Error Handling

Requests對錯誤的處理也是很非常方面掀亩。如果你使用了不正確的用戶名和密碼扰柠,urllib2會引發(fā)一個urllib2.URLError錯誤,然而Requests會像你期望的那樣返回一個正常的response對象炸枣。只需查看response.ok的布爾值便可以知道是否登陸成功击儡。

(https://www.jb51.net/article/63711.htm#)

>>> response = requests.get(url,auth``=``(``'dan'``,``'wrongPass'``))

>>> response.ok

False

|
使用selenium進行爬蟲
1适荣、挑選需求爬的URL地址,將其放入需求網(wǎng)絡(luò)爬蟲的隊列裆赵,也可以把爬到的符合一定需求的地址放入這個隊列中2、獲取一個url進行DNS解析跺嗽,獲取其主機IP3战授、針對這個url地址將其頁面加載下來(也就是這個頁面的html或者jsp)加載下來,不同的框架有不同的頁面處理方法桨嫁,和抽取有用信息的方法植兰,類似根據(jù)id選擇抽取,根據(jù)標簽抽取璃吧,根據(jù)class抽取楣导,根據(jù)css抽取等。4畜挨、最后Pipeline負責(zé)抽取結(jié)果的處理筒繁,包括計算彬坏、持久化到文件、數(shù)據(jù)庫等 在這里我們介紹一種十分方便的爬蟲工具:selenium膝晾,selenium爬蟲個人感覺適合對那種需求登錄的頁面進行爬取栓始,因為它本身可以加載瀏覽器驅(qū)動,模擬登錄這個操作血当,然后把需求的靜態(tài)頁面加載進來幻赚。

  from selenium import webdriver
  import time

 browser = webdriver.Chrome()
  browser = webdriver.Firefox()

 help(webdriver)

加載谷歌瀏覽器驅(qū)動,這里我使用的谷歌臊旭,你也可以下載firefox或者ie的驅(qū)動

使用什么驅(qū)動則模擬該操作的就是這個瀏覽器落恼,需要注意的是,chromedriver.exe對不同瀏覽器版本也是有自己版本的

browser = webdriver.Chrome("D:\driver\chromedriver.exe")

這里通過get請求需要模擬登錄的頁面

browser.get("https://crm.xiaoshouyi.com/global/login.action")

print(browser.page_source)

browser.switch_to_frame("page_source")

這里通過name選擇器獲取登錄名和密碼并把需要set值給放進去

 browser.find_element_by_name("loginName").send_keys("你的登錄名")
 browser.find_element_by_name("password").send_keys("你的登錄密碼")
這一步模擬點擊登錄
 browser.find_element_by_class_name("pg-btn-submit").click()
 browser.implicitly_wait(10)
 time.sleep(5)

這一步模擬點擊某個a標簽連接

hrefs=browser.find_element_by_partial_link_text(u"客戶")
hrefs.click()

 time.sleep(5)

我們可以通過browser.page_source把當(dāng)前頁面的靜態(tài)資源打印出來看看离熏,然后根據(jù)自己需求進行提取有用的資源

print(browser.page_source) 現(xiàn)在我們可以看到佳谦,我們已經(jīng)把頁面的靜態(tài)資源加載到了browser里面,我們可以開始根據(jù)自己的需求從browser里面拿自己需要的資源了滋戳,我這里先簡單介紹一下selenium的使用钻蔑,有關(guān)其具體選擇器和選擇方法,如下所示:

browser.find_element_by_id("id的name")
browser.find_element("")
browser.find_element_by_tag_name("標簽name")
browser.find_element_by_class_name("classname")
browser.find_element_by_css_selector("css選擇器奸鸯,cssname")
browser.find_element_by_partial_link_text("帶有鏈接的文本咪笑,獲取其跳轉(zhuǎn)地址,后面跟click事件可以模擬跳轉(zhuǎn)")


browser.find_element_by_xpath("里面可以跟正則表達式娄涩,XPath一般在實際自動化測試項目中用到比較多窗怒,其定位元素十分方便")此處例舉xpath用法:假如一個html是這個樣子的:<html>
<body>
 <form id="myform">
 <input name="name" type="text" />
  <input name="pwd" type="password" />
  <input name="continue" type="submit" value="Login" />
</form>
</body>
<html>我們需要用xpath定位他的pwd:
pwd =browser.find_element_by_xpath("http://form[input/@name='pwd']")---獲取form下input標簽中name為pwd的資源
pwd = browser.find_element_by_xpath("http://form[@id='loginForm']/input[2]")---獲取第二個input標簽的資源
pwd = browser.find_element_by_xpath("http://input[@name='pwd']")---直接獲取input為pwd的資源

xpat語法與bs4

xpth獲取屬性//a[@class="name"]/@img
      獲取文本//a[@class="name"]/@img/text()

  bs4獲取屬性
   href = site.select('td a')[0].attrs['href']
  獲取文本
   catalog = site.select('td')[1].get_text()
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市蓄拣,隨后出現(xiàn)的幾起案子扬虚,更是在濱河造成了極大的恐慌,老刑警劉巖球恤,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件辜昵,死亡現(xiàn)場離奇詭異,居然都是意外死亡碎捺,警方通過查閱死者的電腦和手機路鹰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來收厨,“玉大人晋柱,你說我怎么就攤上這事∷腥” “怎么了雁竞?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我碑诉,道長彪腔,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任进栽,我火速辦了婚禮德挣,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘快毛。我一直安慰自己格嗅,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布唠帝。 她就那樣靜靜地躺著屯掖,像睡著了一般。 火紅的嫁衣襯著肌膚如雪襟衰。 梳的紋絲不亂的頭發(fā)上贴铜,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天,我揣著相機與錄音瀑晒,去河邊找鬼绍坝。 笑死,一個胖子當(dāng)著我的面吹牛瑰妄,可吹牛的內(nèi)容都是我干的陷嘴。 我是一名探鬼主播,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼间坐,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了邑退?” 一聲冷哼從身側(cè)響起竹宋,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎地技,沒想到半個月后蜈七,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡莫矗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年飒硅,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片作谚。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡三娩,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出妹懒,到底是詐尸還是另有隱情雀监,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站会前,受9級特大地震影響好乐,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜瓦宜,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一蔚万、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧临庇,春花似錦反璃、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至侄泽,卻和暖如春礁芦,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背悼尾。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工柿扣, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人闺魏。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓未状,卻偏偏與公主長得像,于是被迫代替她去往敵國和親析桥。 傳聞我的和親對象是個殘疾皇子司草,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,435評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 爬蟲的目標 我的目的是爬取某直播網(wǎng)站某一天所有頻道的網(wǎng)絡(luò)流量數(shù)據(jù),每一個頻道有一個自己的頁面泡仗,顯示可視化后的流量數(shù)...
    酸辣粉多加辣椒閱讀 3,399評論 0 2
  • selenium用法詳解 selenium主要是用來做自動化測試埋虹,支持多種瀏覽器,爬蟲中主要用來解決JavaScr...
    陳_CHEN_陳閱讀 3,903評論 1 5
  • 這篇文章在介紹官網(wǎng)的同時使用了比較多的腳本示例娩怎,示例里遇到的問題有部分在本篇文章進行了解釋搔课,還有一篇文章專門記錄了...
    顧顧314閱讀 12,937評論 3 32
  • 不知不覺的已是年的尾聲,不得不感嘆時間的飛逝截亦,我們穿梭在生活的記憶里爬泥、遠遠的奔不過時間和年齡! 去年今日此門中 崩瓤,...
    依然淡香閱讀 255評論 0 0
  • 小學(xué)三年級的孩子跟我聊天谷遂,冷不丁問了一個非常成熟的問題:“老媽葬馋,你們這個時候應(yīng)該是最辛苦的吧”?一個小屁孩竟然會關(guān)...
    白咖啡鐘文萍閱讀 233評論 0 2