爬蟲作業03-爬取解密大資料專欄下的所有文章

weixin_34268753發表於2017-07-29
6581981-5476cc3521667cc5.jpg

課程作業

  • 選擇第二次課程作業中選中的網址
  • 爬取該頁面中的所有可以爬取的元素,至少要求爬取文章主體內容
  • 可以嘗試用lxml爬取

這節課的作業對我來說。難度不小。deadline到了。為了門票。絞盡腦汁,勉強提交這份作業。

曾老師 貼心給出了函式程式碼。完成了95%。幾乎帶路帶到家門口了。程式碼如下:

# coding: utf-8
"""
版權所有,保留所有權利,非書面許可,不得用於任何商業場景
版權事宜請聯絡:WilliamZeng2017@outlook.com
"""

import os
import time
import urllib2
import urlparse
from bs4 import BeautifulSoup  # 用於解析網頁中文, 安裝: pip install beautifulsoup4


def download(url, retry=2):
    """
    下載頁面的函式,會下載完整的頁面資訊
    :param url: 要下載的url
    :param retry: 重試次數
    :return: 原生html
    """
    print "downloading: ", url
    # 設定header資訊,模擬瀏覽器請求
    header = {
        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36'
    }
    try: #爬取可能會失敗,採用try-except方式來捕獲處理
        request = urllib2.Request(url, headers=header) #設定請求資料
        html = urllib2.urlopen(request).read() #抓取url
    except urllib2.URLError as e: #異常處理
        print "download error: ", e.reason
        html = None
        if retry > 0: #未超過重試次數,可以繼續爬取
            if hasattr(e, 'code') and 500 <= e.code < 600: #錯誤碼範圍,是請求出錯才繼續重試爬取
                print e.code
                return download(url, retry - 1)
    time.sleep(1) #等待1s,避免對伺服器造成壓力,也避免被伺服器遮蔽爬取
    return html

def crawled_links(url_seed, url_root):
    """
    抓取文章連結
    :param url_seed: 下載的種子頁面地址
    :param url_root: 爬取網站的根目錄
    :return: 需要爬取的頁面
    """
    crawled_url = set()  # 需要爬取的頁面
    i = 1
    flag = True #標記是否需要繼續爬取
    while flag:
        url = url_seed % i #真正爬取的頁面
        i += 1 #下一次需要爬取的頁面

        html = download(url) #下載頁面
        if html == None: #下載頁面為空,表示已爬取到最後
            break

        soup = BeautifulSoup(html, "html.parser") #格式化爬取的頁面資料
        links = soup.find_all('a', {'class': 'title'}) #獲取標題元素
        if links.__len__() == 0: #爬取的頁面中已無有效資料,終止爬取
            flag = False

        for link in links: #獲取有效的文章地址
            link = link.get('href')
            if link not in crawled_url:
                realUrl = urlparse.urljoin(url_root, link)
                crawled_url.add(realUrl)  # 記錄未重複的需要爬取的頁面
            else:
                print 'end'
                flag = False  # 結束抓取

    paper_num = crawled_url.__len__()
    print 'total paper num: ', paper_num
    return crawled_url

def crawled_page(crawled_url):
    """
    爬取文章內容
    :param crawled_url: 需要爬取的頁面地址集合
    """
    for link in crawled_url: #按地址逐篇文章爬取
        html = download(link)
        soup = BeautifulSoup(html, "html.parser")
        title = soup.find('h1', {'class': 'title'}).text #獲取文章標題
        content = soup.find('div', {'class': 'show-content'}).text #獲取文章內容

        if os.path.exists('spider_res/') == False: #檢查儲存檔案的地址
            os.mkdir('spider_res')

        file_name = 'spider_res/' + title + '.txt' #設定要儲存的檔名
        if os.path.exists(file_name):
            # os.remove(file_name) # 刪除檔案
            continue  # 已存在的檔案不再寫
        file = open('spider_res/' + title + '.txt', 'wb') #寫檔案
        content = unicode(content).encode('utf-8', errors='ignore')
        file.write(content)
        file.close()

注意:第一行的# coding: utf-8不是單純的備註。 是程式碼說明。不可以刪掉。

結合課堂上PPT的程式碼。我將原始碼分成以下4部分。

第一部分:匯入模組包

import os
import time
import urllib2
import urlparse
from bs4 import BeautifulSoup  # 用於解析網頁中文, 安裝: pip install beautifulsoup4

這部分容易理解

第二部分:定義一個download函式

def download(url, retry=2):
    """
    下載頁面的函式,會下載完整的頁面資訊
    :param url: 要下載的url
    :param retry: 重試次數
    :return: 原生html
    """
    print "downloading: ", url
    # 設定header資訊,模擬瀏覽器請求
    header = {
        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36'
    }
    try: #爬取可能會失敗,採用try-except方式來捕獲處理
        request = urllib2.Request(url, headers=header) #設定請求資料
        html = urllib2.urlopen(request).read() #抓取url
    except urllib2.URLError as e: #異常處理
        print "download error: ", e.reason
        html = None
        if retry > 0: #未超過重試次數,可以繼續爬取
            if hasattr(e, 'code') and 500 <= e.code < 600: #錯誤碼範圍,是請求出錯才繼續重試爬取
                print e.code
                return download(url, retry - 1)
    time.sleep(1) #等待1s,避免對伺服器造成壓力,也避免被伺服器遮蔽爬取
    return html

這一大段函式的作用。就是下載網頁原始碼。
即提供一個網頁url地址。返回這個網頁的原始碼。

我一下子理解不了裡面每一句程式碼的意思。我就先把它看成一個做包子的工廠。
只要給它原材數麵糰(url),跟肉餡(retry)。工廠就會給你做出包子(輸出網頁的原始碼html程式碼)來。

至於裡面是什麼手法做成的包子。先不管了。裡面涉及的知識點太多。
這個工廠的名字我們叫download(這裡可以隨意取名)。
下單的老闆若是忘記告訴工廠放多少肉餡時,工廠就自己預設放2匙肉餡(retry=2)

#那麼,我就可以把他簡看成這樣子。
def download(url, retry=2):
    .....
    return html

#以後當我需要一個網頁的原始碼時。我只需呼叫一下這個download函式。那麼他就會自動輸出原始碼給我。
# 比如。我需要百度網頁的原始碼。可以這麼寫
url = 'http://www.baidu.com'
baidu = download(url)
print (baidu)

# 執行結果
downloading: [http://www.baidu.com](http://www.baidu.com/)
<!DOCTYPE html><!--STATUS OK-->
<html>
<head>
    <meta http-equiv="content-type" content="text/html;charset=utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=Edge">
    <meta content="always" name="referrer">
    <meta name="theme-color" content="#2932e1">
    <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
    <link rel="search" type="application/opensearchdescription+xml" href="/content-search.xml" title="百度搜尋" /> 
    <link rel="icon" sizes="any" mask href="//www.baidu.com/img/baidu.svg">
    <link rel="dns-prefetch" href="//s1.bdstatic.com"/>
    <link rel="dns-prefetch" href="//t1.baidu.com"/>
    <link rel="dns-prefetch" href="//t2.baidu.com"/>
    <link rel="dns-prefetch" href="//t3.baidu.com"/>
    <link rel="dns-prefetch" href="//t10.baidu.com"/>
    <link rel="dns-prefetch" href="//t11.baidu.com"/>
    <link rel="dns-prefetch" href="//t12.baidu.com"/>
    <link rel="dns-prefetch" href="//b1.bdstatic.com"/>
    
    <title>百度一下,你就知道</title>
#......   原始碼太長。就不全部貼上。 知道個大概意思就好。
<script>
if(bds.comm.supportis){
    window.__restart_confirm_timeout=true;
    window.__confirm_timeout=8000;
    window.__disable_is_guide=true;
    window.__disable_swap_to_empty=true;
}
initPreload({
    'isui':true,
    'index_form':"#form",
    'index_kw':"#kw",
    'result_form':"#form",
    'result_kw':"#kw"
});
</script>

<script>
if(navigator.cookieEnabled){
    document.cookie="NOJS=;expires=Sat, 01 Jan 2000 00:00:00 GMT";
}
</script>
</body>
</html>

第三部分:定義一個crawled_links函式

def crawled_links(url_seed, url_root):
    """
    抓取文章連結
    :param url_seed: 下載的種子頁面地址
    :param url_root: 爬取網站的根目錄
    :return: 需要爬取的頁面
    """
    crawled_url = set()  # 需要爬取的頁面
    i = 1
    flag = True #標記是否需要繼續爬取
    while flag:
        url = url_seed % i #真正爬取的頁面
        i += 1 #下一次需要爬取的頁面

        html = download(url) #下載頁面
        if html == None: #下載頁面為空,表示已爬取到最後
            break

        soup = BeautifulSoup(html, "html.parser") #格式化爬取的頁面資料
        links = soup.find_all('a', {'class': 'title'}) #獲取標題元素
        if links.__len__() == 0: #爬取的頁面中已無有效資料,終止爬取
            flag = False

        for link in links: #獲取有效的文章地址
            link = link.get('href')
            if link not in crawled_url:
                realUrl = urlparse.urljoin(url_root, link)
                crawled_url.add(realUrl)  # 記錄未重複的需要爬取的頁面
            else:
                print 'end'
                flag = False  # 結束抓取

    paper_num = crawled_url.__len__()
    print 'total paper num: ', paper_num
    return crawled_url

按第一部分的分析理解方法
輸入的是url_seed(種子網址), url_root(網站首頁)
輸出的是crawled_url(專欄內所有文章的,單獨文章連結的集合 目前有278篇)

第四部分:定義一個crawled_page函式

def crawled_page(crawled_url):
    """
    爬取文章內容
    :param crawled_url: 需要爬取的頁面地址集合
    """
    for link in crawled_url: #按地址逐篇文章爬取
        html = download(link)
        soup = BeautifulSoup(html, "html.parser")
        title = soup.find('h1', {'class': 'title'}).text #獲取文章標題
        
        title = title.replace('|', ' ')      #  這一段是自己新增的。
        title = title.replace('"', ' ')      # 因為有些文章的標題帶有特殊字元。 
        title = title.replace(':', ' ')      # 而我們電腦檔案的命名規則
        title = title.replace('\x08', ' ')   # 不允許有特殊字元的存在。
        title = title.replace('<', ' ')      # 在這裡我就將特殊字元全部替換成空格處理。
        title = title.replace('>', ' ')      # 這是向polo助教討教到的。
        print (title)                        # 特意加下print輸出。執行過程中可以看到標題
        
        content = soup.find('div', {'class': 'show-content'}).text #獲取文章內容

        if os.path.exists('spider_res/') == False: #檢查儲存檔案的地址
            os.mkdir('spider_res')

        file_name = 'spider_res/' + title + '.txt' #設定要儲存的檔名
        if os.path.exists(file_name):
            # os.remove(file_name) # 刪除檔案
            continue  # 已存在的檔案不再寫
        file = open(file_name, 'wb') #寫檔案。老師有定義了file_name變數了。我就直接用上了
        content = unicode(content).encode('utf-8', errors='ignore')
        file.write(content)
        file.close()

輸入crawled_url(所有文章的網頁地址)
輸出生成以文章標題為檔名的txt檔案。儲存在spider_res目錄下。檔案內容 就是 文章的內容。

  title = title.replace('|', ' ')     #  這一段是自己新增的。
  title = title.replace('"', ' ')     # 因為有些文章的標題帶有特殊字元。 
  title = title.replace(':', ' ')     # 而我們電腦檔案的命名規則
  title = title.replace('\x08', ' ')  # 不允許有特殊字元的存在。
  title = title.replace('<', ' ')     # 在這裡我就將特殊字元全部替換成空格處理。
  title = title.replace('>', ' ')     # 這是向polo助教討教到的。
  title = title.replace('/', ' ')     # 
  print (title)                       # 特意加下print輸出。執行過程中可以看到標題

下面舉個例子說明一下自己為什麼加上這麼一段程式碼:
商業分析之資料詞典| 得到

6581981-c44f300fa46240cf.png

6581981-00204270245eb6fd.png

6581981-0d9ea5b8121f7af9.png

最後部分:爬蟲主要執行程式碼部分

url_root = 'http://www.jianshu.com'
url_seed = 'http://www.jianshu.com/c/9b4685b6357c?page=%d'

crawled_url = crawled_links(url_seed, url_root)
crawled_page(crawled_url)

最後的最後:貼上自己執行過程及結果

匯入檔案跟定義函式執行是沒有輸出顯示什麼的。主要是後面四行程式碼才會有輸出。

# 程式碼部分
url_root = 'http://www.jianshu.com'
url_seed = 'http://www.jianshu.com/c/9b4685b6357c?page=%d'

crawled_url = crawled_links(url_seed, url_root)
# 執行結果
downloading:  http://www.jianshu.com/c/9b4685b6357c?page=1
downloading:  http://www.jianshu.com/c/9b4685b6357c?page=2
downloading:  http://www.jianshu.com/c/9b4685b6357c?page=3
downloading:  http://www.jianshu.com/c/9b4685b6357c?page=4
downloading:  http://www.jianshu.com/c/9b4685b6357c?page=5
downloading:  http://www.jianshu.com/c/9b4685b6357c?page=6
downloading:  http://www.jianshu.com/c/9b4685b6357c?page=7
downloading:  http://www.jianshu.com/c/9b4685b6357c?page=8
downloading:  http://www.jianshu.com/c/9b4685b6357c?page=9
downloading:  http://www.jianshu.com/c/9b4685b6357c?page=10
downloading:  http://www.jianshu.com/c/9b4685b6357c?page=11
downloading:  http://www.jianshu.com/c/9b4685b6357c?page=12
downloading:  http://www.jianshu.com/c/9b4685b6357c?page=13
downloading:  http://www.jianshu.com/c/9b4685b6357c?page=14
downloading:  http://www.jianshu.com/c/9b4685b6357c?page=15
downloading:  http://www.jianshu.com/c/9b4685b6357c?page=16
downloading:  http://www.jianshu.com/c/9b4685b6357c?page=17
downloading:  http://www.jianshu.com/c/9b4685b6357c?page=18
downloading:  http://www.jianshu.com/c/9b4685b6357c?page=19
downloading:  http://www.jianshu.com/c/9b4685b6357c?page=20
downloading:  http://www.jianshu.com/c/9b4685b6357c?page=21
downloading:  http://www.jianshu.com/c/9b4685b6357c?page=22
downloading:  http://www.jianshu.com/c/9b4685b6357c?page=23
downloading:  http://www.jianshu.com/c/9b4685b6357c?page=24
downloading:  http://www.jianshu.com/c/9b4685b6357c?page=25
downloading:  http://www.jianshu.com/c/9b4685b6357c?page=26
downloading:  http://www.jianshu.com/c/9b4685b6357c?page=27
downloading:  http://www.jianshu.com/c/9b4685b6357c?page=28
downloading:  http://www.jianshu.com/c/9b4685b6357c?page=29
total paper num:  278
# 程式碼部分
crawled_page(crawled_url)
# 執行結果
downloading:  http://www.jianshu.com/p/45df7e3ecc78
資料之緣                         # 在第四部分那裡 加了一句print (title),就會輸出標題。
downloading:  http://www.jianshu.com/p/99ae5b28a51f
網購小細節你注意到了嗎?            # 這樣可以看到輸出的進度,方便除錯。
downloading:  http://www.jianshu.com/p/d6243f087bd9
1.1 利用Python進行資料分析
downloading:  http://www.jianshu.com/p/ea40c6da9fec
我與“解密大資料 ”社群
downloading:  http://www.jianshu.com/p/59e0da43136e
爬蟲課程作業2
downloading:  http://www.jianshu.com/p/dc07545c6607
某寶與某東購物流程
downloading:  http://www.jianshu.com/p/d1acbed69f45
爬蟲作業01-獲取網路資料的原理
downloading:  http://www.jianshu.com/p/02f33063c258
批發市場淘寶與購物中心京東的購物流程對比
downloading:  http://www.jianshu.com/p/ad10d79255f8
爬蟲作業2
downloading:  http://www.jianshu.com/p/062b8dfca144
商業資料分析之資料字典設計
downloading:  http://www.jianshu.com/p/cb4f8ab1b380
商業分析之資料詞典  得到
downloading:  http://www.jianshu.com/p/8f7102c74a4f
【用Python學統計】資料描述之視覺化
downloading:  http://www.jianshu.com/p/77876ef45ab4
2016年終總結 無量化 不成長
downloading:  http://www.jianshu.com/p/e5475131d03f
正態分佈作業一
downloading:  http://www.jianshu.com/p/e0bd6bfad10b
Python 爬蟲入門課作業2- 網頁基礎與結構分析
downloading:  http://www.jianshu.com/p/a425acdaf77e
紅葡萄酒質量探索分析
downloading:  http://www.jianshu.com/p/729edfc613aa
離資料科學家還有多遠-矽谷資料科學家成長之路
downloading:  http://www.jianshu.com/p/e50c863bb465
關於資料分析的學習方法
downloading:  http://www.jianshu.com/p/7107b67c47bc
直方圖作業中我遇到的那些 坑 
downloading:  http://www.jianshu.com/p/020f0281f1df
直方圖的繪製
downloading:  http://www.jianshu.com/p/1292d7a3805e
解密大資料課程作業-正態分佈的應用
downloading:  http://www.jianshu.com/p/7cb84cfa56fa
解密大資料專欄文章分類
downloading:  http://www.jianshu.com/p/41c14ef3e59a
個人資料的Who's&How   資料中間商 讀書筆記
downloading:  http://www.jianshu.com/p/1a2a07611fd8
機器學習實戰之決策樹(三)
downloading:  http://www.jianshu.com/p/217a4578f9ab
認知限制和預測侷限  黑天鵝讀書筆記
downloading:  http://www.jianshu.com/p/d234a015fa90
遲到的第四次作業- 推論統計
downloading:  http://www.jianshu.com/p/e08d1a03045f
大腦使用手冊 : 學習如何學習(下篇)
downloading:  http://www.jianshu.com/p/6f4a7a1ef85c
Tiger 大資料二十二問
downloading:  http://www.jianshu.com/p/faf2f4107b9b
課程作業-爬蟲入門01-獲取網路資料的原理-WilliamZeng-20170629
downloading:  http://www.jianshu.com/p/9dee9886b140
對比某寶和某東的購物流程異同
downloading:  http://www.jianshu.com/p/e2ee86a8a32b
突然不執行的—jupyter notebook
downloading:  http://www.jianshu.com/p/9258b0495021
2017-03-21
downloading:  http://www.jianshu.com/p/7e2fccb4fad9
爬蟲課程作業01-解密大資料社群
downloading:  http://www.jianshu.com/p/74042ba10c0d
譯 大資料科普系列-資料預處理
downloading:  http://www.jianshu.com/p/d882831868fb
【泰閣志-資料分析】作業2:直方圖
downloading:  http://www.jianshu.com/p/d5bc50d8e0a2
Python資料分析的起手式(2)Python 列表 list 
downloading:  http://www.jianshu.com/p/2e64c2045be5
正態分佈作業二
downloading:  http://www.jianshu.com/p/565500cfb5a4
[泰閣志-資料分析課]作業3:正態分佈
downloading:  http://www.jianshu.com/p/1729787990e7
Python資料分析的起手式(4)Numpy入門
downloading:  http://www.jianshu.com/p/8ca518b3b2d5
《黑天鵝》讀後感想
downloading:  http://www.jianshu.com/p/9c7fbcac3461
商業資料分析——股票資料分析
downloading:  http://www.jianshu.com/p/13d76e7741c0
給你更多和給你好的
downloading:  http://www.jianshu.com/p/81d17436f29e
資料分析和統計——直方圖
downloading:  http://www.jianshu.com/p/148b7cc83bcd
小白的商業資料分析
downloading:  http://www.jianshu.com/p/70b7505884e9
爬蟲第一課作業
downloading:  http://www.jianshu.com/p/ba4100af215a
爬蟲作業3
downloading:  http://www.jianshu.com/p/819a202adecd
商業資料分析之叫車軟體反作弊案例
downloading:  http://www.jianshu.com/p/a4beefd8cfc2
大作業 - 某東和某寶的購物流程對比
downloading:  http://www.jianshu.com/p/eb01f9002091
第四次作業
downloading:  http://www.jianshu.com/p/ba43beaa186a
與加速變化的世界共舞
downloading:  http://www.jianshu.com/p/d44cc7e9a0a9
大作業-某寶和某東的購物比較
downloading:  http://www.jianshu.com/p/d0de8ee83ea1
您的好友小聾瞎已上線
downloading:  http://www.jianshu.com/p/b4670cb9e998
商業資料分析之三——反作弊案例分析
downloading:  http://www.jianshu.com/p/9f9fb337be0c
中篇-泰坦尼克號 
downloading:  http://www.jianshu.com/p/542f41879879
譯 在Stack Overflow做資料科學家的一年
downloading:  http://www.jianshu.com/p/e9f6b15318be
Numpy資料存取與常用函式
downloading:  http://www.jianshu.com/p/f1ef93a6c033
【泰閣志-資料分析】作業6:商業資料分析02
downloading:  http://www.jianshu.com/p/872a67eed7af
分析後學推論總計、假設檢驗
downloading:  http://www.jianshu.com/p/f0063d735a5c
某寶和某東購物流程淺析
downloading:  http://www.jianshu.com/p/856c8d648e20
大資料學習第五次作業
downloading:  http://www.jianshu.com/p/b9407b2c22a4
【泰閣志-資料分析】作業3:正態分佈
downloading:  http://www.jianshu.com/p/a36e997b8e59
python學統計第二課 復現與作業
downloading:  http://www.jianshu.com/p/c28207b3c71d
走一步進一步— 資料之路
downloading:  http://www.jianshu.com/p/8448ac374dc1
【泰閣志-資料分析】作業7:商業資料分析03
downloading:  http://www.jianshu.com/p/4a3fbcb06981
來,嚐嚐我這兩菜一湯
downloading:  http://www.jianshu.com/p/b1a9daef3423
第六次作業——業務指標字典的設計
downloading:  http://www.jianshu.com/p/5eb037498c48
《資料中間商》筆記1--進門地毯的故事
downloading:  http://www.jianshu.com/p/f756bf0beb26
python入門掙扎指南 - 安裝及直方圖
downloading:  http://www.jianshu.com/p/673b768c6084
爬蟲第一次作業
downloading:  http://www.jianshu.com/p/6233788a8abb
資料中間商讀書筆記
downloading:  http://www.jianshu.com/p/087ce1951647
直方圖
downloading:  http://www.jianshu.com/p/7240db1ba0af
大資料學習分享
downloading:  http://www.jianshu.com/p/289e51eb6446
我的翻譯步驟和工具  寫在第一次翻譯實踐之後
downloading:  http://www.jianshu.com/p/0565cd673282
如何通過資料指標判斷刷單司機 - 商業資料分析03 作業
downloading:  http://www.jianshu.com/p/873613065502
眼前的黑不是真正的黑
downloading:  http://www.jianshu.com/p/605644d688ff
課程作業-爬蟲入門01
downloading:  http://www.jianshu.com/p/1ea730c97aae
爬蟲入門01-獲取網路資料的原理作業
downloading:  http://www.jianshu.com/p/bab0c09416ee
第三次作業——正態分佈
downloading:  http://www.jianshu.com/p/c6591991d1ca
商業資料分析之四——投資人對投資企業的選擇
downloading:  http://www.jianshu.com/p/fd9536a0acfb
利用python進行資料分析之資料載入、儲存與檔案格式
downloading:  http://www.jianshu.com/p/f89c4032a0b2
商業資料分析第二次課作業-0719
downloading:  http://www.jianshu.com/p/1fa23219270d
Tiger 人人都能用資料-統計學和直方圖
downloading:  http://www.jianshu.com/p/412f8eab2599
菜市場和超市購物----某寶和某東購物體驗對比
downloading:  http://www.jianshu.com/p/05c15b9f16f1
三分鐘讀懂什麼是置信區間
downloading:  http://www.jianshu.com/p/4931d66276c3
黑天鵝與資料分析
downloading:  http://www.jianshu.com/p/b5165468a32b
做好資料分析的祕訣在於講好一個故事
downloading:  http://www.jianshu.com/p/2c02a7b0b382
用python繪製直方圖
downloading:  http://www.jianshu.com/p/dffdaf11bd4c
資料分析的流程 -- 資料探索之開篇
downloading:  http://www.jianshu.com/p/71c02ef761ac
統計學學習筆記
downloading:  http://www.jianshu.com/p/6920d5e48b31
商業資料分析作業之二
downloading:  http://www.jianshu.com/p/71b968bd8abb
大資料社群作業-商業資料分析
downloading:  http://www.jianshu.com/p/5a6c4b8e7700
資料中間商讀書筆記2—— 資料時代正確的生活姿勢
downloading:  http://www.jianshu.com/p/c1163e39a42e
商業資料分析大作業1
downloading:  http://www.jianshu.com/p/bd9a27c4e2a8
電商購物流程指標
downloading:  http://www.jianshu.com/p/88d0addf64fa
Python 爬蟲入門課作業1- 獲取網路資料的原理
downloading:  http://www.jianshu.com/p/6a7afc98c868
機器學習之綜述與案例分析筆記
downloading:  http://www.jianshu.com/p/9ee12067f35e
作業-天氣資料簡單分析
downloading:  http://www.jianshu.com/p/c41624a83b71
爬蟲入門03作業
downloading:  http://www.jianshu.com/p/67ae9d87cf3c
遲來的第一講作業
downloading:  http://www.jianshu.com/p/b5c292e093a2
第七次作業--防作弊分析
downloading:  http://www.jianshu.com/p/0a6977eb686d
時間與情感都是錢 - 資料分析第一課作業
downloading:  http://www.jianshu.com/p/8088d1bede8d
2.26資料分析課程作業-邏輯思考題
downloading:  http://www.jianshu.com/p/d578d5e2755f
概率統計第一次作業
downloading:  http://www.jianshu.com/p/c9e1dffad756
正態分佈作業及我的收穫
downloading:  http://www.jianshu.com/p/81819f27a7d8
機器學習驅動的北美商業決策-聽課筆記
downloading:  http://www.jianshu.com/p/799c51fbe5f1
解密大資料課程作業-直方圖
downloading:  http://www.jianshu.com/p/5e4a86f8025c
爬蟲作業02-html頁面分析
downloading:  http://www.jianshu.com/p/7acf291b2a5e
第五次作業習題1與2——商業資料分析
downloading:  http://www.jianshu.com/p/6ef6b9a56b50
大作業-某寶和某東比較
downloading:  http://www.jianshu.com/p/210aacd31ef7
淺學正態分佈(進階歷程)
downloading:  http://www.jianshu.com/p/9a9280de68f8
淘寶與京東WEB購物流程思考
downloading:  http://www.jianshu.com/p/39eb230e6f15
Python資料分析的起手式(1)Python 基礎
downloading:  http://www.jianshu.com/p/c0c0a3ed35d4
黑天鵝之我們的思考
downloading:  http://www.jianshu.com/p/74db357c7252
04作業推論統計-你有遇到坑嗎?
downloading:  http://www.jianshu.com/p/3a95a09cda40
大資料作業6 - 商業分析之資料詞典 微信
downloading:  http://www.jianshu.com/p/bc75ab89fac0
大資料第一次作業 20170303
downloading:  http://www.jianshu.com/p/460a8eed5cfa
黑天鵝筆記:重識熵資訊理論與資料科學
downloading:  http://www.jianshu.com/p/8ca88a90ea17
#發生在別人身上是故事,發生在自己身邊是事故——人人都需重視黑天鵝事件
downloading:  http://www.jianshu.com/p/a8037a38e219
Lending Club貸款資料分析(上)
downloading:  http://www.jianshu.com/p/3dfedf60de62
機器學習入門課聽課後思考
downloading:  http://www.jianshu.com/p/ada67bd7c56f
利用python進行資料分析之資料規整化(三)
downloading:  http://www.jianshu.com/p/486afcd4c36c
商業資料分析第一次課學習筆記
downloading:  http://www.jianshu.com/p/8a0479f55b21
資料探索之統計分佈
downloading:  http://www.jianshu.com/p/e492d3acfe38
【泰閣志-資料分析】作業5:商業資料分析01
downloading:  http://www.jianshu.com/p/b4e2e5e31154
一次腦洞大開的閱讀體驗
downloading:  http://www.jianshu.com/p/75fc36aec98e
讀書筆記——黑天鵝:如何應對不可預知的未來
downloading:  http://www.jianshu.com/p/a015b756a803
“黑天鵝”的啟發
downloading:  http://www.jianshu.com/p/29062bca16aa
天氣分析 - 解密大資料作業001
downloading:  http://www.jianshu.com/p/910662d6e881
大資料課程第一節作業--購物網站流程分析
downloading:  http://www.jianshu.com/p/8fbe3a7b4764
矽谷資料科學家成長之路
downloading:  http://www.jianshu.com/p/0329f87c9ae4
資料分析第三次課隨堂作業 - 0725
downloading:  http://www.jianshu.com/p/e1b28de0a1e4
所有的涓涓細流,終匯成江河大海!
downloading:  http://www.jianshu.com/p/b5c31a2eeb8b
某寶與某東購物體驗
downloading:  http://www.jianshu.com/p/7e556f17021a
資料探索之引數估計
downloading:  http://www.jianshu.com/p/23144099e9f8
統計學作業03
downloading:  http://www.jianshu.com/p/a91c54f96ded
資料分析第二次課隨堂作業_0718
downloading:  http://www.jianshu.com/p/74ef104a9f45
第七次作業——反作弊分析
downloading:  http://www.jianshu.com/p/afa17bc391b7
同一購物網站,為什麼你比別人更容易買到假貨——你不知道的《資料中間商》
downloading:  http://www.jianshu.com/p/90914aef3636
爬蟲第二次作業-0706
downloading:  http://www.jianshu.com/p/0c0e3ace0da1
爬蟲作業1
downloading:  http://www.jianshu.com/p/b7eef4033a09
爬蟲作業一
downloading:  http://www.jianshu.com/p/7b2e81589a4f
爬蟲作業
downloading:  http://www.jianshu.com/p/2f7d10b2e508
X寶與X東的一些比較
downloading:  http://www.jianshu.com/p/ed499f4ecdd1
HTML基礎知識
downloading:  http://www.jianshu.com/p/11c103c03d4a
“逛X寶”vs“上X東”,到底有什麼區別?
downloading:  http://www.jianshu.com/p/333dacb0e1b2
資料為個人賦能
downloading:  http://www.jianshu.com/p/7c54cd046d4b
黑色的翅膀扇出一記耳光
downloading:  http://www.jianshu.com/p/cfaf85b24281
爬蟲課02
downloading:  http://www.jianshu.com/p/356a579062aa
利用Python處理Excel資料  總結
downloading:  http://www.jianshu.com/p/46e82e4fe324
數字時代的新通識
downloading:  http://www.jianshu.com/p/ba00a9852a02
作業-美國票選之小白資料分析
downloading:  http://www.jianshu.com/p/b6359185fc26
第四次作業-推論統計
downloading:  http://www.jianshu.com/p/a1a2dabb4bc2
爬蟲入門01作業
downloading:  http://www.jianshu.com/p/4077cbc4dd37
【泰閣志-資料分析】作業1:關於某寶購物流程的思考
downloading:  http://www.jianshu.com/p/90efe88727fe
認識黑天鵝,成為黑馬
downloading:  http://www.jianshu.com/p/17f99100525a
泰坦尼克號-資料分析
downloading:  http://www.jianshu.com/p/01385e2dd129
第六次作業——設計指標字典
downloading:  http://www.jianshu.com/p/ec3c57d6a4c7
第二次資料分析作業----做出一組資料的直方圖
downloading:  http://www.jianshu.com/p/3a5975d6ac55
爬蟲03作業。(沒有成功)
downloading:  http://www.jianshu.com/p/85da47fddad7
大作業-在某寶與某東的購物流程對比
downloading:  http://www.jianshu.com/p/3b47b36cc8e8
3.26大作業習題1
downloading:  http://www.jianshu.com/p/29e304a61d32
商業資料分析第一次課作業-0708
downloading:  http://www.jianshu.com/p/649167e0e2f4
第四次推論統計作業
downloading:  http://www.jianshu.com/p/13840057782d
網購平臺淺析
downloading:  http://www.jianshu.com/p/11b3dbb05c39
Pandas to_sql將DataFrame儲存的資料庫中
downloading:  http://www.jianshu.com/p/9632ba906ca2
利用python進行資料分析之pandas入門(一)
downloading:  http://www.jianshu.com/p/41b1ee54d766
商業資料分析01 3.26
downloading:  http://www.jianshu.com/p/0ee1f0bfc8cb
購物對比
downloading:  http://www.jianshu.com/p/09b19b8f8886
Juputer 利用python的pandas資料分析人群收入模型1
downloading:  http://www.jianshu.com/p/3c71839bc660
大腦使用手冊 : 學習如何學習 —— Coursera最火課程之一(上篇)
downloading:  http://www.jianshu.com/p/f0436668cb72
爬蟲課程作業1
downloading:  http://www.jianshu.com/p/c0f3d36d0c7a
pandas 常見操作第一課
downloading:  http://www.jianshu.com/p/be0192aa6486
債務違約預測之一:資料探索
downloading:  http://www.jianshu.com/p/ee43c55123f8
用 python 繪製正態分佈曲線
downloading:  http://www.jianshu.com/p/af4765b703f0
商業資料分析課程5習題1
downloading:  http://www.jianshu.com/p/ff772050bd96
商業資料分析&作業1
downloading:  http://www.jianshu.com/p/e121b1a420ad
爬蟲課程作業02-解密大資料社群
downloading:  http://www.jianshu.com/p/ed93f7f344d0
爬蟲課01
downloading:  http://www.jianshu.com/p/8f6ee3b1efeb
爬蟲第三次作業-0706
downloading:  http://www.jianshu.com/p/3f06c9f69142
Python資料分析的起手式(3)函式、方法和包
downloading:  http://www.jianshu.com/p/ff2d4eadebde
關於某寶和某東的購物體驗——大資料2月26日課程作業
downloading:  http://www.jianshu.com/p/ce0e0773c6ec
用Python淺析股票資料
downloading:  http://www.jianshu.com/p/be384fd73bdb
大資料課程第一節作業-購物網站流程分析
downloading:  http://www.jianshu.com/p/acc47733334f
爬蟲入門L2   網頁結構&元素標籤位置
downloading:  http://www.jianshu.com/p/bf5984fb299a
爬蟲第一課作業
downloading:  http://www.jianshu.com/p/1a935c2dc911
商業資料分析1 作業 - 習題1
downloading:  http://www.jianshu.com/p/8982ad63eb85
發掘資料中的資訊 -- 資料探索之描述性統計
downloading:  http://www.jianshu.com/p/99fd951a0b8b
資料探索之假設檢驗
downloading:  http://www.jianshu.com/p/98cc73755a22
爬蟲入門02作業
downloading:  http://www.jianshu.com/p/bb736600b483
【讀書筆記】資料中間商
downloading:  http://www.jianshu.com/p/f75128ec3ea3
大資料作業7 反作弊案例分析
downloading:  http://www.jianshu.com/p/23a905cf936b
第二次作業——直方圖
downloading:  http://www.jianshu.com/p/169403f7e40c
致Python初學者們 - Anaconda入門使用指南
downloading:  http://www.jianshu.com/p/a9c7970bc949
資料分析課程作業之一
downloading:  http://www.jianshu.com/p/ed9ec88e71e4
Python 爬蟲入門課作業3-爬蟲基礎
downloading:  http://www.jianshu.com/p/5057ab6f9ad5
測試感知現象
downloading:  http://www.jianshu.com/p/1b42a12dac14
自我量化的數字生活
downloading:  http://www.jianshu.com/p/5dc5dfe26148
大資料第二次作業 20170309
downloading:  http://www.jianshu.com/p/c88a4453dd6d
《誰說菜鳥不會資料分析》入門篇圖表練習
downloading:  http://www.jianshu.com/p/cd971afcb207
Growth Hacking精要-跟Airbnb、Pinterest和Uber學習增長祕笈
downloading:  http://www.jianshu.com/p/2ccd37ae73e2
爬蟲入門02(html筆記)
downloading:  http://www.jianshu.com/p/926013888e3e
上海市房價資料分析報告
downloading:  http://www.jianshu.com/p/888a580b2384
機器學習實戰之準備(一)
downloading:  http://www.jianshu.com/p/e72c8ef71e49
Tiger:我眼中的大資料(2)-轉行和實戰經驗
downloading:  http://www.jianshu.com/p/bb4a81624af1
【泰閣志-資料分析】作業4:區間估計
downloading:  http://www.jianshu.com/p/4b944b22fe83
資料的核心還是人 - 商業資料分析01 作業2,3
downloading:  http://www.jianshu.com/p/fa7dd359d7a8
第一次作業,分析weatherdata.csv
downloading:  http://www.jianshu.com/p/bfd9b3954038
商標代理業務的資料指標設計 - 商業資料分析1 作業
downloading:  http://www.jianshu.com/p/2364064e0bc9
用python製作正態分佈圖
downloading:  http://www.jianshu.com/p/56967004f8c4
直方圖繪製+簡單檔案處理
downloading:  http://www.jianshu.com/p/394856545ab0
Python問題彙總 for 統計方法論
downloading:  http://www.jianshu.com/p/aed64f7e647b
作業-資料描述之統計量
downloading:  http://www.jianshu.com/p/a32f27199846
網購流程的小差異背後體現了什麼?
downloading:  http://www.jianshu.com/p/4b4e0c343d3e
Lending Club貸款資料分析(下)
downloading:  http://www.jianshu.com/p/8f6b5a1bb3fa
資料中·見商
downloading:  http://www.jianshu.com/p/f7354d1c5abf
對鏈家網租房進行分析
downloading:  http://www.jianshu.com/p/1fe31cbddc78
爬蟲入門01作業 phsyke
downloading:  http://www.jianshu.com/p/f7dc92913f33
第五次作業習題3——商業資料分析
downloading:  http://www.jianshu.com/p/296ae7538d1f
第三次作業-正態分佈分析
downloading:  http://www.jianshu.com/p/d43125a4ff44
矽谷資料科學家成長之路-筆記
downloading:  http://www.jianshu.com/p/0b0b7c33be57
資料分析入門常見問題彙總
downloading:  http://www.jianshu.com/p/979b4c5c1857
推論統計作業 
downloading:  http://www.jianshu.com/p/4b57424173a0
Tiger:我眼中的大資料-新生大學分享(1)
downloading:  http://www.jianshu.com/p/e0ae002925bd
說說統計圖表 - 黑客
downloading:  http://www.jianshu.com/p/5250518f5cc5
商業資料分析第三次課作業-0725
downloading:  http://www.jianshu.com/p/7b946e6d6861
小白進階歷程-直方圖學習
downloading:  http://www.jianshu.com/p/62e127dbb73c
2017- 我的敏捷學習之年
downloading:  http://www.jianshu.com/p/430b5bea974d
頂級風投的宿命
downloading:  http://www.jianshu.com/p/e5d13e351320
人人都會用資料(一)——直方圖&平均數
downloading:  http://www.jianshu.com/p/5d8a3205e28e
     用python 製作直方圖
downloading:  http://www.jianshu.com/p/1099c3a74336
作業:商業資料分析之X地氣象分析
downloading:  http://www.jianshu.com/p/761a73b7eea2
大資料作業5 - 習題2&3 電商流程剖析& 股票分析
downloading:  http://www.jianshu.com/p/83cc892eb24a
第三課-正態分佈
downloading:  http://www.jianshu.com/p/b223e54fe5ee
商業分析之資料指標
downloading:  http://www.jianshu.com/p/366c2594f24b
USDA食品資料庫分析
downloading:  http://www.jianshu.com/p/cc3b5d76c587
解密大資料0305作業 直方圖
downloading:  http://www.jianshu.com/p/6dbadc78d231
機器學習筆記1-監督學習
downloading:  http://www.jianshu.com/p/733475b6900d
作業4-推論統計
downloading:  http://www.jianshu.com/p/e71e5d7223bb
你所不知道的網購搜尋
downloading:  http://www.jianshu.com/p/f26085aadd47
機器學習實戰之K-近鄰演算法(二)
downloading:  http://www.jianshu.com/p/df7b35249975
python 直方圖
downloading:  http://www.jianshu.com/p/68423bfc4c4e
 資料中間商 正在改變的世界
downloading:  http://www.jianshu.com/p/601d3a488a58
協作翻譯覆盤 Buddha篇
downloading:  http://www.jianshu.com/p/1d6fc1a9406b
【泰閣志-資料分析】作業5:商業資料分析01
downloading:  http://www.jianshu.com/p/76238014a03f
商業資料分析02作業
downloading:  http://www.jianshu.com/p/9e7cfcc85a57
爬蟲入門01(筆記)
downloading:  http://www.jianshu.com/p/4a8749704ebf
爬蟲入門02作業
downloading:  http://www.jianshu.com/p/d2dc5aa9bf8f
商業資料分析課程6作業7
downloading:  http://www.jianshu.com/p/4dda2425314a
淺談黑天鵝
downloading:  http://www.jianshu.com/p/8baa664ea613
初試商業資料分析之股票分析
downloading:  http://www.jianshu.com/p/cbfab5db7f6f
簡書的資料指標體系及分析 - 商業資料分析02 作業
downloading:  http://www.jianshu.com/p/bd78a49c9d23
 第二次作業正態分佈圖
downloading:  http://www.jianshu.com/p/cf2edecdba77
利用python資料分析之資料聚合與分組(七)
downloading:  http://www.jianshu.com/p/3b3bca4281aa
第五次作業--股票資料分析
downloading:  http://www.jianshu.com/p/f382741c2736
第二次作業
downloading:  http://www.jianshu.com/p/4ffca0a43476
Python資料分析入門 - 正態分佈
downloading:  http://www.jianshu.com/p/e04bcac99c8d
精益創業
downloading:  http://www.jianshu.com/p/37e927476dfe
解密大資料0226大作業
downloading:  http://www.jianshu.com/p/4981df2eefe7
爬蟲入門01作業
downloading:  http://www.jianshu.com/p/86117613b7a6
左手程式設計師,右手作家:你必須會的Jupyter Notebook
downloading:  http://www.jianshu.com/p/233ff48d668e
課程作業-商業資料分析技術篇01-Python熱身-DrFish-20170708
downloading:  http://www.jianshu.com/p/13a68ac7afdd
爬蟲作業03-爬取解密大資料專欄下的所有文章
downloading:  http://www.jianshu.com/p/aa1121232dfd
爬蟲課02作業
downloading:  http://www.jianshu.com/p/e99dacbf5c44
為什麼釋迦摩尼提倡過午不食?
downloading:  http://www.jianshu.com/p/40cc7d239513
為電影公司建立視覺化圖表-tableau
downloading:  http://www.jianshu.com/p/5a8b8ce0a395
課程筆記-商業資料分析技術篇01-Python熱身-DrFish-20170708
downloading:  http://www.jianshu.com/p/14967ec6e954
機器學習入門課聽課後思考
downloading:  http://www.jianshu.com/p/8266f0c736f9
【讀書筆記】如何應對不確定性事件 -《黑天鵝》的終極奧祕
downloading:  http://www.jianshu.com/p/b3e8e9cb0141
作業-01獲取網路資料的原理
downloading:  http://www.jianshu.com/p/ae5f78b40f17
資料分析入門畢業專案:電商購物平臺母親節禮品特徵分析
downloading:  http://www.jianshu.com/p/10b429fd9c4d
課程作業-爬蟲入門02-網頁基礎與結構分析-WilliamZeng-20170706
downloading:  http://www.jianshu.com/p/2c557a1bfa04
2.26大作業——邏輯思考題
downloading:  http://www.jianshu.com/p/9457100d8763
如何同時在 Anaconda 同時配置 python 2和3
downloading:  http://www.jianshu.com/p/62c0a5122fa8
利用python進行資料分析之資料規整化(一)
downloading:  http://www.jianshu.com/p/59ca82a11f87
3.5作業--直方圖製作及分析
downloading:  http://www.jianshu.com/p/27a78b2016e0
Python學習利器——我的小白 Anaconda安裝之路
downloading:  http://www.jianshu.com/p/0c007dbbf728
爬蟲入門L1   資料url
downloading:  http://www.jianshu.com/p/f6420cce3040
利用python進行資料分析之資料規整化(二)

因專題的文章數過大。278篇
第二部分定義download函式時。老師在裡面設定了time.sleep(1)延時1秒。

那麼278篇。至少就得花上278秒。近5分鐘了。我等不了那麼久。 就偷偷改成了time.sleep(0.2) 延時200毫秒。可以正常爬取到,又不會給簡書伺服器封IP。節約了時間。1分鐘左右就爬取完了。

檢視一下電腦spider_res目錄下的結果


6581981-af9e2cbcbd0a6c88.jpg
解密大資料專欄下 273篇文章

我這裡也奇怪為什麼先前顯示278篇。實際下載到的只有273篇。

隨機點了幾篇文章看了一下。
發現如果文章作者是採用markdown寫作的。那麼,txt檔裡文章段落會很分明。如:

6581981-11d3bdd5c543404c.png

如果沒有用markdown編寫的。則沒有段落。閱讀起來很費力。

6581981-01590117dfaefbe0.png

相關閱讀:
初學python-函式
初學python-條件語句

相關文章