快一年沒更新博客了,現(xiàn)在總結一下這大半年來研究、學習的知識,博客陸續(xù)更新中。。。
這個爬蟲項目是去年4、5月份做的,主要技術是BeautifulSoup、select、requests、MongoDB、highchart
首先,我們登陸趕集網可以看到二手商品信息的首頁,即爬蟲的起始url是:http://sh.ganji.com/wu/,分析網頁結構可以看到二手商品信息分類中有:手機、手機配件、手機號碼、筆記本電腦、臺式機等20多個商品分類子頻道,分別打開每個子頻道的url,可以看到對應的二手商品列表,每個二手商品列表中的url對應一個詳細頁面,我們要獲取的就是每個詳細頁面上的信息。
首先,我們定義 headers 部分,headers 包含 User-Agent、Cookie、Referer等信息,這是為了偽裝成瀏覽器的形式,以應對反爬蟲措施。
requests.get解析url:
wb_data = requests.get(url, headers=headers)
BeautifulSoup的lxml解析文本:
soup = BeautifulSoup(wb_data.text, 'lxml')
關于BeautifulSoup中的各種html解析器,我做了一個小的研究,html.parser:這是python自帶的,速度上當然是沒問題的,但是兼容性不好, python2.7.3以前的版本不兼容;lxml:解析速度很快、兼容性好,但是正因為其解析速度快,有時會出現(xiàn)解析不到數(shù)據的情況;html5lib:兼容性非常好,解析成功率非常高(有時用lxml解析不到時,用html5lib卻能解析到),但是速度非常慢;綜合這三種html解析器,我覺得lxml是最為折中的。
select選擇器定位文本:
links = soup.select('div.main-pop dl dt a')
獲取詳細信息:
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應用分析 2017-07-26
- 集合結合數(shù)據結構來看看(二) 2017-07-26