第一回:Scrapy的試水
前言:今天算是見到Scrapy的第二天,之前只是偶爾查了查,對於這個框架的各種解釋,我-----都-----看------不------懂----,沒辦法,見面就是剛。
目的:如題,試水
目標:《伯樂在線》python版(不要問我怎麽老是惹伯樂,好欺負)的“實踐項目”的一頁的文章標題和簡介,導入Mysql數據庫。
配置:win7+python3.4+Scrapy1.4+phpStudy(主要用它的mysql數據庫)
完成時間:2017-7-27(歷時2天)
作者:羽凡
-------------------------------------------------------------------無敵的-------------------------------------------------------------------------------------------------------------------------
正文:
scrapy的安裝我就不說了,有事沒事問度娘。。。。
第一步:創建項目,命令:scrapy startproject bole
成功的話就生成了這些
今天除了第三和第五個沒用到,其他都有修改。
看看咋們的目標狀態:
我要的是“圖解機器學習。。。。”和“開發人員經常說。。。。”這兩項(先簡單點)
第二步:修改items.py文件
用過django的可能覺得熟悉這個東西,這就像個中轉或是暫時倉庫,你從網頁上找到想要的東西總得放個地方吧,這裏就為它們開辟了空間,這個空間在爬蟲主體(spider文件夾裏)會被引用(from ..items import BoleItem),空間開辟好了,items.py就改好了。
第三步:創建爬蟲主體。命令:scrapy genspider -t basic Bole jobbole.com
關於命令中的有些參數我也不太清楚,genspider-生成爬蟲 -t :不知道 basic:不知道 Bole:爬蟲名字 jobbole.com:目標域名
該命令在spider文件夾下生成Bole.py
經過修改後的樣子
這裏start_urls是第一頁的網址。下面的parse函數是對返回結果的處理,我們需要的數據也是在這裏產生的,這裏用到了xpath來搜索數據,功能與re正則差不多,還可以看到在items.py中開辟的空間在這裏用到了。(假如把return item 換成 print(item[‘title’])就可以看到抓到的標題了)
加餐第四步:數據導入mysql數據庫(修改setting.py和pipelines.py文件)
先是pipelines.py:
被我註釋掉的是鏈接數據庫並創建相應的庫/表/項。如果你是手工用SQL來創建好的,就註釋掉吧,要不然還要修改下,這裏將中轉的東西通過SQL指令導入數據庫裏了
接下來修改setting.py使上面的修改管用:
找到這行,並解除註釋,就像開了水龍頭。。。。
開啟Mysql,運行爬蟲:
--nolog是為了不打印一串日誌記錄,如果排查錯誤就不加。
以上是結果。
-----------------------------------------------------------------------無敵的我-----------------------------------------------------------------------------------------------------------------------------------
是不是寫的很水,我自己都尷尬了,沒辦法,才真正自學兩天,明天,哦不,今天在理理思路,期待第二回早點寫來。
困了,睡覺。 By:羽凡 2017-7-28-0:33
第一回:Scrapy的試水