python語言最近榮登最受歡迎語言之榜首,看來學習python是目前相當明智的,對於python的學習,z(本人簡稱)我是舉雙手贊成的,甚至開始慫恿老婆和我一起學,由於python語言的簡潔易用,這裡直接面對已經有程式設計基礎的讀者。
z寫這裡,主要是自己學習過程,好記性不如爛筆頭,熟才能生巧;其次,好東西要給大家分享了才叫好東西。
話不多說,開始!
平時大家上網都是,開啟瀏覽器,輸入google**,然後就能看到瀏覽器傳送過來的谷歌的主頁資訊,這裡大部分的操作幾乎都被計算機暗中執行了,然而我們學習網路資料採集,就必須要衝破一些介面的遮擋,不僅僅在瀏覽器層,有時候也包含網路連線層。
from urllib.request import urlopen
html = urlopen("")
print(html.read())
z這裡用的是 ubuntuos,所以上面的**以 test.py 名稱儲存本地,然後在終端輸入:
$python3 scrapetest.py
注意,本地系統要安裝 python3.x 才能執行,然後在終端能夠看到網頁的全部html源**,這裡的 urllib 庫是 python 的標準庫,我們會大量的用到這個庫,所以可以去閱讀這個庫的 python 文件(文件點這裡)。
這個庫很智慧型,它能通過定位 html 標籤來格式化和組織複雜的網路資訊,以物件的形式給我們展示 xml 結構資訊。
由於 beautifulsoup 庫不是 python 的標準庫,需要單獨安裝,ubuntu 的安裝過程:
$sudo apt-get install python-bs4
安裝成功在終端測試一下:
$python3
>>>
from bs4 import beautifulsoup
如果不報錯就是可以了。
回到上面的栗子,現在z想要獲取標題的 h1 標籤的內容,python**:
from urllib.request import urlopen
from bs4 import beautifulsoup
html = urlopen("")
bsobj = beautifulsoup(html.read())
print(bsobj.h1)
an interesting titleh1>
網路是很複雜的,有很多的突發情況,採集資料最怕的是興沖沖寫好了爬蟲,執行,去睡覺,第二天一看,執行開始就報異常終止了,所以z寫**,一定要多考慮爬蟲可能會遇到的各種突發異常。
# 返回空值,中斷程式,或者執行另乙個方案
else:
# 程式繼續。注意:如果你已經在上面異常捕捉那一段**裡返回或中斷(break),
# 那麼就不需要使用else語句了,這段**也不會執行如果上面出問題,會返回 none 值,html 這個物件就要做判斷了:
if html is
none:
print("url is not found")
else:
# 程式繼續
然後看後面,如果標籤找不到,不存在,bsobj 就是 none,也會報錯,報錯如下:
attributeerror: 'nonetype'
object has no attribute 'sometag'
所以上面的初體驗**可以改一下:
print(title)總結上述,寫爬蟲,重要的是**的格局,可以慢慢從簡單的布局開始嘗試,有問題,就改,然後改到一定程度,可以重新構思**的布局,這個構思的過程才是我們最寶貴的經驗!!!
萬事開頭難,初體驗終於加班寫好,待z繼續學習,分享給大家吧!
Python爬蟲之初體驗
python爬蟲,一般用於抓取特定的內容,最近想學學,通過網路抓取自己想要的內容,於是乎學習了一下python,用乙個小案例來紀念一下學習的成果。coding utf 8 import urllib import re 定義個函式 抓取網頁內容 def gethtml url webpage url...
python爬蟲模擬登入初體驗
第一次學習爬蟲,自己真是醉醉噠,因為實驗室專案需要,所以迅速學習了一下,這次做的是乙個帶cookie的模擬登入,其中遇到了許許多多的問題,最難的就是要訪問的頁面加入了csrf跨站請求偽造驗證 因為我是渣渣,所以感到很難做 和如何帶cookie來模擬登入,最後在好友某殷的幫助下,順利解決了問題。先貼 ...
爬蟲利器初體驗
scrapy 資料流 scrapy 元件 爬取豆瓣電影 top250 前言為什麼要學 scrapy 呢?看下圖,就清楚了。很多招聘要求都有 scrapy,主要是因為 scrapy 確實很強。那到底強在 呢?請在文中找答案。scrapy 資料流 首先我們先來學習一下 scrapy 的工作流程。scra...