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 解析函式
相關文章
- Python筆記:網頁資訊爬取簡介(一)Python筆記網頁
- 最簡單的網路圖片的爬取 --Pyhon網路爬蟲與資訊獲取爬蟲
- 《Python開發簡單爬蟲》實踐筆記Python爬蟲筆記
- python實現微博個人主頁的資訊爬取Python
- go語言實現簡單爬蟲獲取頁面圖片Go爬蟲
- selenium + xpath爬取csdn關於python的博文博主資訊Python
- 爬蟲實戰(一):爬取微博使用者資訊爬蟲
- nodeJS做一個簡單的爬蟲NodeJS爬蟲
- python簡單爬蟲(二)Python爬蟲
- java實現一個簡單的爬蟲小程式Java爬蟲
- 爬蟲實踐之獲取網易雲評論資料資訊爬蟲
- 簡單的爬蟲程式爬蟲
- 一個簡單的爬蟲 頭部構造爬蟲
- 使用nodeJS寫一個簡單的小爬蟲NodeJS爬蟲
- 爬蟲例項-淘寶頁面商品資訊獲取爬蟲
- Python 超簡單爬取微博熱搜榜資料Python
- Python爬蟲筆記(一)——基礎知識簡單整理Python爬蟲筆記
- Laravel 手動搭建簡單的資料爬蟲Laravel爬蟲
- Python 開發簡單爬蟲 (學習筆記)Python爬蟲筆記
- python爬蟲:爬蟲的簡單介紹及requests模組的簡單使用Python爬蟲
- 教你如何編寫第一個簡單的爬蟲爬蟲
- 簡單實踐實現 MySQL 主從複製MySql
- Python 超簡單爬取新浪微博資料 (高階版)Python
- trade.get( 獲取單筆交易的部分資訊)介面
- Python爬蟲實戰:爬取淘寶的商品資訊Python爬蟲
- 一個簡單的netty通訊的例子Netty
- python 爬蟲 mc 皮膚站 little skin 的簡單爬取Python爬蟲
- 爬蟲實戰(二):Selenium 模擬登入並爬取資訊爬蟲
- 初探python之做一個簡單小爬蟲Python爬蟲
- Python爬蟲精簡步驟1 獲取資料Python爬蟲
- DRY原則的一個簡單實踐
- python爬蟲58同城(多個資訊一次爬取)Python爬蟲
- 用PYTHON爬蟲簡單爬取網路小說Python爬蟲
- 爬蟲實踐-基於Jsoup爬取Facebook群組成員資訊爬蟲JS
- WebRTC:一個視訊聊天的簡單例子Web單例
- Request模組實戰01 ---簡單爬取頁面
- python 爬取 blessing skin 的簡單實現Python
- 簡單的爬蟲:爬取網站內容正文與圖片爬蟲網站