您好,登錄后才能下訂單哦!
這篇文章主要介紹了使用python寫爬蟲的方法,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
用python寫爬蟲的流程和思路如下,有需要的小伙伴可以借鑒..
1. 整體思路流程
通過URL獲取說要爬取的頁面的響應信息(Requests庫的使用)
通過python中的解析庫來對response進行結構化解析(BeautifulSoup庫的使用)
通過對解析庫的使用和對所需要的信息的定位從response中獲取需要的數據(selecter和xpath的使用)
將數據組織成一定的格式進行保存(MongoDB的使用)
通過對數據庫中的數據進行篩選和組織,進行數據可視化的初步展示(HighCharts庫的使用)
2. 簡單代碼演示
準備工作
下載并安裝所需要的python庫,包括:
requests庫:用于向指定url發起請求
BeautifulSoup庫:用于解析返回的網頁信息
lxml庫:用于解析網頁返回結果
pymongo庫:用于實現python對MongoDB的操作
3. 對所需要的網頁進行請求并解析返回的數據
對于想要做一個簡單的爬蟲而言,這一步其實很簡單,主要是通過requests庫來進行請求,然后對返回的數據進行一個解析,解析之后通過對于元素的定位和選擇來獲取所需要的數據元素,進而獲取到數據的一個過程。(更多學習內容,請點擊python學習網。)
一個簡單的網絡爬蟲示例
import requests from bs4 import BeautifulSoup #58同城的二手市場主頁面 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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。