還沒被玩壞的robobrowser(3)——簡單的spider


背景

做一個簡單的spider用來獲取python selenium實戰教程的一些基本信息。因為python selenium每年滾動開課,所以做這樣一個爬蟲隨時更新最新的開課信息是很有必要的。

 

 

預備知識

  • python語法,不會python的同學建議通過這個視頻學習;
  • 安裝好robobrowser,沒有安裝的同學參考這里

 

任務分解

這個簡單的spider任務可以進行進一步的分解:

  • 訪問python selenium自動化測試班頁面;
  • 獲取這個班的名稱--python selenium自動化測試班;
  • 獲取這個班的描述--獨一無二的超低價培訓-口碑之選;
  • 獲取開班的時間--第五期報名截止2015年1月17日,開課時間1月17日;
  • 獲取報名方式--課程咨詢請聯系QQ:12079456;
  • 獲取selenium進階群的群號--技術交流+selenium 進階群:189116036;
  • 獲取授課老師信息--蟲師;

 

正式開始

 1 import re
 2 from robobrowser import RoboBrowser
 3 
 4 # 訪問python selenium自動化測試班的頁面
 5 
 6 url = 'http://itest.info/courses/2'
 7 b = RoboBrowser(history=True)
 8 b.open(url)
 9 
10 # 獲取這個班的名稱--python selenium自動化測試班
11 class_name = b.select('.headline h2')
12 print class_name[0].text
13 
14 # 獲取這個班的描述--獨一無二的超低價培訓-口碑之選
15 class_desc = b.select('.tag-box')
16 print class_desc[0].text
17 
18 # 獲取開班的時間--**第五期報名截止2015年1月17日,開課時間1月17日
19 class_time = b.select('h4')
20 print class_time[0].text
21 
22 # 獲取授課老師信息--蟲師
23 teacher = b.select('.thumbnail-style h3')
24 print teacher[0].text
25 
26 # 獲取報名方式--**課程咨詢請聯系QQ:12079456
27 qq = b.find(text=re.compile('QQ'))
28 print qq
29 
30 # 獲取selenium進階群的群號--**技術交流+selenium 進階群:189116036
31 qq_group = b.find(text=re.compile('\+selenium'))
32 print qq_group



簡單講解

  •  b = RoboBrowser(history=True) b.open(url) 用來創建browser和打開url,沒什么新意,記住就好了;
  •  b.select() 方法可以接受css選擇器,返回頁面上所有符合條件的元素的集合,也就是說返回的是list,可以進行迭代;
  •  b.find() 的用法在這里,只返回1個精確的結果;
  • 注意,find和select方法返回的均是Beautiful Soup的tag對象或對象集合;

如果你對上面的例子不甚理解那也沒什么關系,后面幾節會按照場景進行分析講解。

 

 

 

文本版權歸乙醇所有,歡迎轉載,但請標明出處。

下一節:robobrowser抓取網頁內容


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM