這篇文章主要介紹了使用python寫爬蟲的方法,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
堅守“ 做人真誠 · 做事靠譜 · 口碑至上 · 高效敬業(yè) ”的價值觀,專業(yè)網(wǎng)站建設(shè)服務(wù)10余年為成都成都搬家公司小微創(chuàng)業(yè)公司專業(yè)提供成都企業(yè)網(wǎng)站定制營銷網(wǎng)站建設(shè)商城網(wǎng)站建設(shè)手機網(wǎng)站建設(shè)小程序網(wǎng)站建設(shè)網(wǎng)站改版,從內(nèi)容策劃、視覺設(shè)計、底層架構(gòu)、網(wǎng)頁布局、功能開發(fā)迭代于一體的高端網(wǎng)站建設(shè)服務(wù)。
用python寫爬蟲的流程和思路如下,有需要的小伙伴可以借鑒..
1. 整體思路流程
通過URL獲取說要爬取的頁面的響應(yīng)信息(Requests庫的使用)
通過python中的解析庫來對response進行結(jié)構(gòu)化解析(BeautifulSoup庫的使用)
通過對解析庫的使用和對所需要的信息的定位從response中獲取需要的數(shù)據(jù)(selecter和xpath的使用)
將數(shù)據(jù)組織成一定的格式進行保存(MongoDB的使用)
通過對數(shù)據(jù)庫中的數(shù)據(jù)進行篩選和組織,進行數(shù)據(jù)可視化的初步展示(HighCharts庫的使用)
2. 簡單代碼演示
準備工作
下載并安裝所需要的python庫,包括:
requests庫:用于向指定url發(fā)起請求
BeautifulSoup庫:用于解析返回的網(wǎng)頁信息
lxml庫:用于解析網(wǎng)頁返回結(jié)果
pymongo庫:用于實現(xiàn)python對MongoDB的操作
3. 對所需要的網(wǎng)頁進行請求并解析返回的數(shù)據(jù)
對于想要做一個簡單的爬蟲而言,這一步其實很簡單,主要是通過requests庫來進行請求,然后對返回的數(shù)據(jù)進行一個解析,解析之后通過對于元素的定位和選擇來獲取所需要的數(shù)據(jù)元素,進而獲取到數(shù)據(jù)的一個過程。(更多學習內(nèi)容,請點擊python學習網(wǎng)。)
一個簡單的網(wǎng)絡(luò)爬蟲示例
import requests from bs4 import BeautifulSoup #58同城的二手市場主頁面 start_url = 'http://bj.58.com/sale.shtml' url_host = 'http://bj.58.com' #定義一個爬蟲函數(shù)來獲取二手市場頁面中的全部大類頁面的連接 def get_channel_urls(url): #使用Requests庫來進行一次請求 web_data = requests.get(url) #使用BeautifulSoup對獲取到的頁面進行解析 soup = BeautifulSoup(web_data.text, 'lxml') #根據(jù)頁面內(nèi)的定位信息獲取到全部大類所對應(yīng)的連接 urls = soup.select('ul.ym-submnu > li > b > a') #作這兩行處理是因為有的標簽有鏈接,但是卻是空內(nèi)容 for link in urls: if link.text.isspace(): continue else: page_url = url_host + link.get('href') print(page_url)
感謝你能夠認真閱讀完這篇文章,希望小編分享使用python寫爬蟲的方法內(nèi)容對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián),詳細的解決方法等著你來學習!