爬蟲入門(實用向)

2022-07-11 00:51:11 字數 1188 閱讀 8278

從接觸爬蟲到現在也有一年半了,在這裡總結一下乙個新人入門爬蟲需要了解的種種。作為實用向入門教程,我不會講太多細枝末節的東西。最重要的就是能爬到東西不是嗎?

那好,作為乙個爬蟲新人,要爬乙個**時,應該怎麼開始呢?

首先,確定要爬的內容。是要整個**的所有內容還是只是部分?需要的爬取的資料在網頁源**裡有嗎(涉及到模擬js傳送請求)?需要的爬取的資料在網頁上有嗎(要用api爬嗎)?確定要爬的內容之後,緊接著就需要考慮如下問題。

嗯,我一般習慣把爬蟲分為api爬蟲和網頁爬蟲。首先簡要介紹一下兩種爬蟲:

api爬蟲

網頁爬蟲

那麼,我們應該寫哪種爬蟲呢?選用哪種爬蟲取決於你想要爬的東西。

如果要爬的是整個**的話,別無選擇,那就選網頁爬蟲。

否則,就是爬部分網頁資料了(比如使用者資料等)。如果要爬的**提供api呼叫的話,那肯定首先api爬蟲了,因為呼叫api或者類庫比手寫網頁爬蟲通常更簡單:)。如果**不提供api或者要爬的資料api中沒有,那麼就只好選網頁爬蟲了。

急著去寫爬蟲之前,讓我們先好好考慮資料存放的問題。

首先,是存資料庫還是檔案裡?一般來說建議存資料庫中,便於之後的更新和查詢。如果真的資料量比較小或者之後很少有更新和查詢的話,那也可以存在檔案中(畢竟**寫起來比較簡單)。

如果存在資料庫中,那麼選哪種資料庫?這個就跟爬下來的資料相關啦。可以選擇通用的mysql,也可以選擇與網路資料高度契合的mongodb。要是爬的是社交網路的話,還可以選擇圖形資料庫,比如neo4j,orientdb,arangodb等。但是圖形資料庫其較慢的插入速度實在是不適用於實時儲存爬蟲資料,只推薦在之後做資料分析時使用。關於圖形資料庫的插入速度我在之前的一篇博文中提過,有興趣的可以看看neo4j安裝&入門&一些優缺點。

現在,我們可以坐下來開始爬蟲程式的編寫了。考慮到「實用向」三個字,我將通過兩個例子來展示基本的爬蟲程式怎麼寫。

見 api爬蟲--twitter實戰

見 網頁爬蟲--scrapy入門

在寫完能跑的爬蟲後,這是最讓人在意的問題了。

對於api爬蟲的話,只需要申請更多的應用,提高api的可呼叫次數即可。而對於網頁爬蟲的話,因為涉及到待爬佇列的共享問題,不能只是簡單地多開爬蟲,可能要考慮分布式的爬取方案了,如scrapy-redis。

最後,祝爬蟲愉快:)。

爬蟲實用技巧

小技巧href kewen.htm target blank 課文原文a python rr2 re.compile r 課文原文 ts rr2.findall response.text 這樣,就定位到 kewen.htm 啦,ts仍然是乙個列表。def combineurl url1,url2 ...

實用向鍵盤操作技巧

f1幫助 f2重新命名 f3搜尋 f4顯示我的電腦和windows資源管理器中的位址列列表 f5重新整理 f6在視窗或桌面上迴圈切換螢幕元素 f7dos下專用功能 f8windows啟動選項 f9excel中計算公式 f10 當可用時 啟用選單欄 f11切換全屏 f12word中另存文件 ctrl ...

python爬蟲入門簡單爬蟲

coding utf 8 from bs4 import beautifulsoup,soupstrainer from threading import lock,thread import sys,time,os from urlparse import urlparse,urljoin fro...