1. 程式人生 > >linux下在伺服器上配置scrapy框架的python爬蟲,使用mysql資料庫儲存

linux下在伺服器上配置scrapy框架的python爬蟲,使用mysql資料庫儲存



最近在做把 爬蟲部署到伺服器上,爬下來的資料再存到資料庫裡。


因為伺服器是linux系統的,所以我們事先需要配置一些環境檔案以及依賴的庫
1、裝python
這一步沒啥好說的吧
2、裝pip,然後再用pip裝依賴的庫:
pip install pymysql
pip install dataset
pip install scrapyl
pip install urllib
3、裝mysql
http://blog.csdn.net/whbing1471/article/details/50100161
看這位大神的帖子就行了
關於mysql的操作就不說了,但其實我第一次在linux下安裝配置mysql,遇到了一個大坑:
爬蟲爬下來資料後,插入資料庫時的漢字編碼問題。網頁上是utf-8,但我資料庫不是,所以遇到了mysql[ERROR 1366】
解決方法:
進入mysql,然後輸入以下兩個命令
alter database [資料庫名] character set utf8;
alter table 【表名】character set utf8;
這裡還有一個坑:我的爬蟲爬的網站的規模其實很小,網站個數大概有二三十個,所以我的爬蟲每次是爬整個網站,而不是新增頁面。我設定每天凌晨一點爬一次,所以會爬到重複的東西。
解決方法:設定資料庫裡爬到的url欄位為UNIQUE ,這樣重複的url就不會被插入進來了。
4、把爬蟲部署到伺服器上
環境都搭建好了,然後先把程式碼複製到伺服器上,執行以下命令:
scp -r
[email protected]
:file_path_1 file_path_2
具體教程見http://www.cnblogs.com/lovychen/p/5756734.html


5、萬事具備,執行程式碼(這之前記得把爬蟲裡的資料庫連線的程式碼修改成伺服器的)


我設定的是每天一點執行一次,這裡我們使用crontab指令
crontab -e
再在裡邊加上我自己的指令,具體教程:http://www.cnblogs.com/kaituorensheng/p/4494321.html




tips:基於scrapy框架的爬蟲一次執行多個:寫一個main.py,裡邊按順序寫好你要執行的爬蟲
就像這樣:
os.system("scrapy crawl 【爬蟲1】")
os.system("scrapy crawl 【爬蟲2】")