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