天天看點

Python寫一個簡單的爬蟲樣例(不超過50行代碼)

###寫在題外的話

爬蟲,我還是大三的時候,第一次聽說,當時我的學姐給我找的一個勤工儉學的項目,要求是在微網誌上爬出感興趣的資訊,結果很遺憾,第一次邂逅隻是擦肩而過。然後,時間來到4年後的研二,在做資訊檢索作業時,老師讓選擇一個自己感興趣的主題,于是,第二次不期而遇。這次相遇,我本以為自己不會輕易放手,結果依然是無疾而終。直到,今天,我變成了一個人,再次相遇,我不再路過。然後,才發現,原來做一個爬蟲并不難,我一直都Too young, too simple.一句話,想做爬蟲,就來吧,Seize the day.

一、python爬蟲綜述

一個簡單的爬蟲,兩部分組成,下載下傳html和解析html文檔。我實作了一個爬取糗事百科的首頁的笑話的網絡爬蟲,大家可以用來參考。

二、python爬蟲開發環境的搭建

開發環境:python2.7(win10-64)

開發IDE:pycharm最新版,就OK

使用到的工具包:setuptools, pip, chardet, certifi, idna, lxml, urllib3, requests, beautifulsoup, bs4所有用到的這些包我都打包放在了我的資源裡,大家可以去下載下傳,或者,直接在網上下載下傳最新的python工具包。

[python2.7_win10爬蟲開發環境工具包.zip]

三、pythonIDE的安裝

使用pycharm進行python的項目,在網上很容易下載下傳到,在注冊的時候,可以使用關鍵字(pycharm,2017,注冊碼),給大家一個參考。[pyCharm最新2017激活碼]

四、源代碼

# coding=utf-8

import requests
from bs4 import BeautifulSoup

# 擷取html文檔
def get_html(url):
    """get the content of the url"""
    response = requests.get(url)
    response.encoding = 'utf-8'
    return response.text
    
# 擷取笑話
def get_certain_joke(html):
    """get the joke of the html"""
    soup = BeautifulSoup(html, 'lxml')
    joke_content = soup.select('div.content')[0].get_text()

    return joke_content

url_joke = "https://www.qiushibaike.com"
html = get_html(url_joke)
joke_content = get_certain_joke(html)
print joke_content