2018-05-10 爬蟲筆記(二)一個簡單的實踐 —簡單獲取生物資訊達人博主主頁的資訊...
1.建立一個專案
我們來看看這個專案的結構:
2 建立一個爬取資訊的spider
3 我們可以除錯一下先
使用 scrapy shell +網址
然後view (response)
but
這種情況下,一般來說,就是要加一個頭資訊,有些時候,為了保留登入狀態,還需要獲得cookie的資訊。
在這裡我採用了browsercookie來自動獲取我的chrome 瀏覽器的cookie,並加上了headers再試一遍:
4 反反爬蟲
pip3 install browsercookie
出現200
然後view(response)跳出頁面
說明成功了‘
5 提取內容模組
之後就是解析頁面了,解析頁面可以使用css xpath 或者BeautifulSoup 這裡先上程式碼,因為這個屬於獨立的一塊,那個用的好久用哪個。
比如像這樣提取一個標題(用xpath):
6 設定item
我這裡展示一下提取文章名字和摘要
先在item.py中封裝
7 編寫spider
這裡我只是想介紹個整理,先上spider 程式碼啦
# -*- coding: utf-8 -*-
import scrapy
from ..items import SpiderProjectItem
class HoptopSpider(scrapy.Spider):
name = 'hoptop'
allowed_domains = ['www.jianshu.com/u/9ea40b5f607a']
start_urls = ['http://www.jianshu.com/u/9ea40b5f607a/']
def parse(self, response):
content = SpiderProjectItem()
titles = response.xpath('//*[@id]/div/a/text()').extract()
#for one in titles:
# content['title'] = one
# yield content
abstracts = response.xpath('//*[@id]/div/p/text()').extract()
#for unit in abstracts:
# content['abstract'] = unit
# yield content
n = len(titles)
i = 0
while i < n :
content['title'] = titles[i]
content['abstract'] = abstracts[i]
i = i + 1
yield content
我這裡的程式碼比較簡陋,只是初步提取資訊,還不包括下滑翻頁,只是展示一下而已
測試一下
scrapy crawl hoptop -o result.csv
成功了,雖然有點簡陋
寫在後面:
首先要明白爬蟲用來幹什麼,一般來說,是用來批量獲取網路上的資訊資源,比如我想把hoptop的部落格全部下載下來離線看,那麼他寫了那麼多的部落格,我不可能一頁一頁地複製,所以我可以編寫爬蟲批量下載
有些時候不一定要用框架,但是框架可以幫你節約一點時間,也別是大型的專案的時候
這裡只是很簡陋地展示了一下,後續可以加入python對文字的處理能力,來規則化地獲取資訊。
4。如果要簡單地使用scrapy 我覺得步驟可以如下:
1.先用shell除錯,看看結構和反爬蟲手段
2.然後記得在setting中加上瀏覽器的headers ,編寫middlewares 可以使用chrome的Cookies模擬登陸。
3.接下來定義item中需要儲存的內容(注意是文字的)
4.然後編寫spider 解析函式
相關文章
- 最簡單的網路圖片的爬取 --Pyhon網路爬蟲與資訊獲取爬蟲
- Python筆記:網頁資訊爬取簡介(一)Python筆記網頁
- 《Python開發簡單爬蟲》實踐筆記Python爬蟲筆記
- go語言實現簡單爬蟲獲取頁面圖片Go爬蟲
- UIWebView簡單的獲取HTML內容和修改頁面資訊UIWebViewHTML
- [python爬蟲] BeautifulSoup和Selenium簡單爬取知網資訊測試Python爬蟲
- java實現一個簡單的爬蟲小程式Java爬蟲
- selenium + xpath爬取csdn關於python的博文博主資訊Python
- nodeJS做一個簡單的爬蟲NodeJS爬蟲
- 一個簡單的python爬蟲程式Python爬蟲
- 爬蟲學習之一個簡單的網路爬蟲爬蟲
- python簡單爬蟲(二)Python爬蟲
- 簡單的爬蟲程式爬蟲
- 一個簡單的爬蟲 頭部構造爬蟲
- 爬蟲例項-淘寶頁面商品資訊獲取爬蟲
- Python爬蟲學習(5): 簡單的爬取Python爬蟲
- 5 個獲取 Linux 主機資訊的命令Linux
- python爬蟲:爬蟲的簡單介紹及requests模組的簡單使用Python爬蟲
- js獲取地理位置資訊簡單介紹JS
- 爬蟲實踐之獲取網易雲評論資料資訊爬蟲
- 教你如何編寫第一個簡單的爬蟲爬蟲
- 使用nodeJS寫一個簡單的小爬蟲NodeJS爬蟲
- Goutte 一個簡單易用的 PHP 爬蟲類庫GoPHP爬蟲
- 用Python寫一個簡單的微博爬蟲Python爬蟲
- 簡單實踐實現 MySQL 主從複製MySql
- 簡單的Python爬蟲 就是這麼簡單Python爬蟲
- Python爬蟲筆記(一)——基礎知識簡單整理Python爬蟲筆記
- Python 開發簡單爬蟲 (學習筆記)Python爬蟲筆記
- 博主簡介
- Request模組實戰01 ---簡單爬取頁面
- 用PYTHON爬蟲簡單爬取網路小說Python爬蟲
- DRY原則的一個簡單實踐
- js獲取瀏覽器相關資訊簡單介紹JS瀏覽器
- 一個簡單的傳送資訊到郵箱的程式
- [Python學習] 簡單爬取CSDN下載資源資訊Python
- linux下面獲取主機資訊Linux
- python 爬蟲 mc 皮膚站 little skin 的簡單爬取Python爬蟲
- 簡單的爬蟲:爬取網站內容正文與圖片爬蟲網站