您好,登錄后才能下訂單哦!
小編給大家分享一下python做爬蟲的小技巧,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
整體思路流程
通過URL獲取說要爬取的頁面的響應信息(Requests庫的使用) 通過python中的解析庫來對response進行結構化解析(BeautifulSoup庫的使用) 通過對解析庫的使用和對所需要的信息的定位從response中獲取需要的數據(selecter和xpath的使用) 將數據組織成一定的格式進行保存(MongoDB的使用) 通過對數據庫中的數據進行篩選和組織,進行數據可視化的初步展示(HighCharts庫的使用)
簡單代碼演示
準備工作
下載并安裝所需要的python庫,包括:
requests庫:用于向指定url發起請求 BeautifulSoup庫:用于解析返回的網頁信息 lxml庫:用于解析網頁返回結果 pymongo庫:用于實現python對MongoDB的操作
對所需要的網頁進行請求并解析返回的數據
對于想要做一個簡單的爬蟲而言,這一步其實很簡單,主要是通過requests庫來進行請求,然后對返回的數據進行一個解析,解析之后通過對于元素的定位和選擇來獲取所需要的數據元素,進而獲取到數據的一個過程。
以上就是一個簡單的網頁爬蟲的制作過程,我們可以通過定義不同的爬蟲來實現爬取不同頁面的信息,并通過程序的控制來實現一個自動化爬蟲。
以下是一個爬蟲的實例
import requests from bs4 import BeautifulSoup start_url = 'http://bj.58.com/sale.shtml' url_host = 'http://bj.58.com' #定義一個爬蟲函數來獲取二手市場頁面中的全部大類頁面的連接 def get_channel_urls(url): #使用Requests庫來進行一次請求 web_data = requests.get(url) #使用BeautifulSoup對獲取到的頁面進行解析 soup = BeautifulSoup(web_data.text, 'lxml') #根據頁面內的定位信息獲取到全部大類所對應的連接 urls = soup.select('ul.ym-submnu > li > b > a') #作這兩行處理是因為有的標簽有鏈接,但是卻是空內容 for link in urls: if link.text.isspace(): continue else: page_url = url_host + link.get('href') print(page_url)
看完了這篇文章,相信你對python做爬蟲的小技巧有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。