背景
做一個簡單的spider用來獲取python selenium實戰教程的一些基本信息。因為python selenium每年滾動開課,所以做這樣一個爬蟲隨時更新最新的開課信息是很有必要的。
預備知識
任務分解
這個簡單的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抓取網頁內容