學習Python的迷茫,如何高效有趣地學習Python?

最近開始學習Python語言,學完了《與孩子一起學編程》,看完了官方的tutorial。現在正在看中文版的《Learn Python》,感覺這本書講的實在是太多了,更像一本參考書,學習的興趣也降低了,我很想去弄一些網頁抓取,抓取數據之類的,可是又覺得基礎不夠,各位有經驗的前輩們請求指教(本人非計算機專業,但是對這方面還是挺感興趣的,每天大概能抽出2小時左右的時間去學習Python)


學習Python,或者說學習編程,千萬不要照搬以往的學習經驗!千萬不要,千萬不要!最後肯定浪費時間,一無所獲!

對於一個編程零基礎的同學,想要高效的學習Python,一定要認識到編程確實和以往接觸的學科很不一樣。要說有什麼學科是和Python的學習路徑差不多的話,可能就是英語了!

因為,兩者都是從實際應用的角度出發,強調的是實踐和實用而不是去強調諸如物理、化學等學科的「解釋性」(與實用主義相對)。

  • 單詞之於英語,就如關鍵詞之於Python
  • 語法(grammar)之於英語,就如句法(syntax)之於Python
  • 作文之於英語,就如項目之於Python

學習英語的目的就在於溝通和交流,學習Python的目的就在於靈活的使用計算機。

學習準則:

1. 在學習Python的初期要學會淺嘗輒止,不要深究!收起你的好奇心,一切以最終的實現效果為準。

我們在學習的初級階段,不強調英語底層,詞的演化、造詞的規律等。學習Python我們也不考慮它的底層實現。

但是,我們學習其他學科不會在一開始就上升到知識的應用層,也不會不關注學科基礎。就像學習數學你不了解加減乘除、學習歐式幾何不先了解公理,這樣是絕對行不通的!所以,分析到這裡只是想強調,學習Python一定要從應用的角度出發,不用去管為什麼在Python 2.X 中的浮點數除法和我們預期的不同。只要知道Python是這樣就可以了!

2. 學習Python要以應用(項目)推動,實現即可,不強調優雅及效率。

比如:一個問題是,如何反向列印一個字元串?

不用追求最pythonic,最高效的方法!只要成功方向列印就可以了!

比如:爬取一個頁面中的所有電話號碼?

用正則表達式的話,就去看看正則表達式。能正確匹配就可以了,不用再多去了解分組等

去哪裡找比較好玩的Python項目,在學習初期我推薦一些具有解密元素的Python遊戲

The Python Challenge

Python編程解密遊戲,需要有一點Python編程基礎,有點古老但很有趣。

Codewars: Train your coding skills

Codewars 中有一些針對Python語言的小挑戰,比如說如果想在由你設計一個ATM機,確保用戶輸入的密碼必須是六位且均為數字,否則不能通過。每一個題目都有大量的測試來測試你的代碼,同時你也可以看到你代碼的運行效率。

爬蟲闖關--1

學習Python爬蟲的也可以嘗試挑戰 @黑板客 的爬蟲闖關。

3. 學習Python一定要學會記筆記,查文檔,只看是沒有用的,一定會忘!

Python有多少標準包,有多少非標準包。每個包中有多少類和方法,每個方法有多少參數?想要看一遍教程就熟練使用?不存在的!

所以,在看教程的時候一定要學會自我總結,形成一個備忘錄。在編程的時候忘記了,查查自己的筆記再結合help()函數。如此反覆,才能真正的掌握!

以pandas為例,在做筆記(備忘錄)時,一定要按照框架列。在不知道如何解決時,通過框架快速定位到相應的知識盲點,再通過筆記或者pandas的文檔解決它!

4. 學習Python,框架很重要。從了解Python的框架開始,打好基礎!

找一本好的Python書籍,先通讀一遍。再仔細看看書章標題的設置,自己總結一下框架。以後,遇到問題,才能知道問題出在哪裡,從而找到解決方案!

找到好的入門書,可以參考在這個問題上,我的回答。

Python入門學習指南? - 知乎

總之,學習Python和我們學習其他學科來在高考取得好成績的思路完全不同。

總結

收起好奇心,應用驅動,問題定位,框架優先!

—————— 知了自薦 ——————

在學習Python的時候一些可以幫助你學習的工具也是必不可少的。這裡就要推薦一下我們自己的APP—— 知了學習社 ,可能有廣告的嫌疑。不過,我們的APP確實是在移動端唯一可以用來互動式學習Python的工具。

特別是工作和課業比較繁忙的同學,在空閑的時間拿出手機就可以系統的學習Python了!

當然,除了Python之外,還有HTMLCSS、JS、經管以及心理學的基礎課程。這些課程也是免費分享給大家的。

APP目前還在第一版的測試階段,可能還存在著諸多不足,希望大家可以參與進來提出更多的建議。一起維護一個知識分享的社區。

如果,你也想分享你自己的知識和技能,也可以在知了學習社上傳自己的課程。謝謝大家!

APP下載地址: 知了APP下載鏈接


哎╮( ̄▽ ̄")╭,我覺得這現象很典型,我也在我的這篇:《那種情懷──論技術人的讀書、學習與氛圍 - 知乎專欄》里講到了。


興趣會在一直看書而不實幹的時間內被消耗.

想學爬蟲又擔心基礎不夠的話, 可以先試著用Scrapy.

按照每天2個小時的進度, 先花1天的時間把文檔過一遍.

Scrapy 0.24 文檔

鑒於題主是非計算機專業, 也許你還需要了解以下內容:

  1. HTML標籤的基礎知識,能看懂標籤的意義就好
  2. http基礎知識, get, post,json這些亂七八糟的名詞是什麼鬼

以上都可以在w3school 在線教程 這個網站得到基本的了解.

假設以上基礎題主已經有了, 可以找豆瓣或者其它一些小站,參照文檔開始寫個小爬蟲

遇到一些需要驗證或者Cookie的就先放棄吧, 入門先專註於讓爬蟲能跑起來, 這也是維持學習興趣的方法

當你達到可以隨心所欲寫個爬蟲爬數據的地步,可以考慮優化了, 什麼防爬, 用戶驗證, Cookie, 模擬登錄, 多線程提高爬取效率之類的...

我一開始就是先對豆瓣下的手, 在第2天的時候寫了個小爬蟲爬了100多萬的書的數據存到資料庫里,有了數據卻不知道拿來幹什麼, 感覺沒什麼意思. (值得一提的是, 豆瓣有個防爬驗證, 爬取速度過快會要求你輸驗證碼以判定你不是機器人. 記得把延遲設置一下, 不然你的爬蟲會很討人厭的)

於是打算去爬知乎,聽說知乎防爬比較厲害(之前試過被知乎封IP段),於是打算去搞個代理池通過高匿名代理來爬知乎, 在網上找了個代理買了半年的服務, 結果發現提的代理都連不上, 感覺太麻煩了, 乾脆自己去爬代理, 期間覺得scrapy對爬代理這種小東西有點殺雞用牛刀的感覺, 於是自己用pycurl + beatifulsoup寫了個簡易爬蟲來爬, 現在有一些短時間內比較穩定免費代理可以用了, 感覺可以開始爬知乎了. 目前只實現了爬取某人的動態並發郵件到自己的郵箱, 嘛, 就像這位仁兄做的那樣

能利用爬蟲技術做到哪些很酷很有趣很有用的事情? - 伍新生的回答

以上的經歷從開始看文檔到現在, 大概花了10天的時間, 期間有大部分時間在查資料.還有考慮先自己寫還是用框架等這些無謂的消耗里, 所以別想這麼多, 決定一個方向直接走起, 你會發現你覺得好像很難的東西, 在幾天後覺得其實沒那麼困難~


我寒假學python,只學了10天就開始學著寫爬蟲。。。一邊做一邊看書看別人的博客,找源碼分析。

在寫的過程中就能發現自己缺少什麼,需要學習什麼,要學到什麼程度,以及最為重要的學這個是為了什麼,能夠做哪些事情。

寫過一些簡單的爬蟲和小腳本之後,開始系統的看書,因為這時候就知道該怎麼系統的學習了。

有目標的學習比漫無目的的學習進步要快得多。


Python是一門入門相當簡單的語言。

簡單到什麼程度呢?如果有時間專門去學習的話,有編程基礎的人一周入門、零基礎一個月入門完全沒有任何問題。在一家培訓機構里,用七天時間足夠給你講完Python的所有語法知識。

但是這種狀態僅僅只是入門,你明白了基礎的語法知識,離真正能做事還差的好遠呢。

Python的強大之處就在於它的各類庫,想要熟悉、掌握這些庫,必定是一個漫長而且辛苦的過程。

好在題主的方向特別明確,單單針對爬蟲方向,學起來還是比較簡單的。

CSDN上有很多系統的爬蟲入門教程,題主可以常看看。

當然啦,在學習的過程中一定要保持自己的動力,持之以恆。

比如我學爬蟲的動力是什麼呢?因為偶爾看到的一篇文章。

為了給題主更多的動力,我決定貢獻出這篇文章: Python爬蟲之——爬取妹子圖片

以下內容來自上述鏈接,版權歸作者所有。

環境:python 3.6

註:單線程版以在安卓的Qpython(py2.7)上運行成功

第三方庫

requests:解析url

beautifulsoup4:不會正則表達式童鞋的福音,可以容易的提取到html文件中各種標籤及其屬性

安裝方法:

pip install requests

pip install beautifulsoup4

如果有錯誤請自行解決

目標

http://mzitu.com

話說回來,我半年前就開始學習py爬蟲,但當時應該是興趣不足,導致半途而廢,所以說興趣非常重要,我們的目標應該可以使大家有很大的興趣,激勵自己學習爬蟲。

原理

學習爬蟲,首先是要學習它的原理。打開網址(為了防止和諧我就不上圖了 ),大家可以發現,一共有141頁,每頁都有很多套圖,如果要你手動去保存,怎麼操作?我想應該是這樣,從第一頁開始,點進第一個套圖,然後保存每張圖片,然後進行第二個套圖……第一頁完了之後第二頁,從第一個套圖開始,保存保存……這就是原理,當然,雖然這樣能達到這個目的,但大家應該沒有那麼多的時間,那麼我們就來學習爬蟲,來替我們保存圖片。

步驟

1.獲取網頁源碼

用瀏覽器的F12可以看到網頁的源碼,但我們現在要用Python這樣做。

#coding=utf-8

import requests

url = "http://www.mzitu.com"

#設置headers,網站會根據這個判斷你的瀏覽器及操作系統,很多網站沒有此信息將拒絕你訪問
header = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 UBrowser/6.1.2107.204 Safari/537.36"}

#用get方法打開url並發送headers
html = requests.get(url,headers = header)

#列印結果 .text是列印出文本信息即源碼
print(html.text)

如果沒問題的話結果會是這樣類似

......
$("#index_banner_load").find("div").appendTo("#index_banner");
$("#index_banner").css("height", 90);
$("#index_banner_load").remove();
});
&
&
&

這些就是網頁的源碼了。

2.尋找所需信息

切換瀏覽器,右鍵『查看網頁源代碼』,可以發現有很多這樣的信息

&&&我是標題我是標題我是標題我是標題我是標題我是標題&&&我是標題我是標題我是標題我是標題我是標題我是標題我是標題我是標題我是標題我是標題&&&2017-04-02&&6,788次&&11

那麼我們只需要提取這些東西就可以了…but:我寫不出這麼複雜的正則!!!沒關係,我們的神器BeautifulSoup要上場了!

我們的步驟是:①將獲取的源碼轉換為BeautifulSoup對象②搜索需要的數據

#coding=utf-8

import requests
from bs4 import BeautifulSoup

url = "http://www.mzitu.com"
header = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 UBrowser/6.1.2107.204 Safari/537.36"}

html = requests.get(url,headers = header)

#使用自帶的html.parser解析,速度慢但通用
soup = BeautifulSoup(html.text,"html.parser")

#實際上是第一個class = "postlist"的div里的所有a 標籤是我們要找的信息
all_a = soup.find("div",class_="postlist").find_all("a",target="_blank")

for a in all_a:
title = a.get_text() #提取文本
print(title)

這樣就找到了當頁所有套圖的標題

注意:BeautifulSoup()返回的類型是&
find()返回的類型是&
find_all()返回的類型是&
&不能再進項find/find_all操作1

3.進入下載

點進一個套圖之後,發現他是每個頁面顯示一個圖片。

比如http://www.mzitu.com/26685是某個套圖的第一頁,後面的頁數都是再後面跟/和數字http://www.mzitu.com/26685/2 (第二頁),那麼很簡單了,我們只需要找到他一共多少頁,然後用循環組成頁數就OK了。

#coding=utf-8

import requests
from bs4 import BeautifulSoup

url = "http://www.mzitu.com/26685"
header = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 UBrowser/6.1.2107.204 Safari/537.36"}

html = requests.get(url,headers = header)
soup = BeautifulSoup(html.text,"html.parser")

#最大頁數在span標籤中的第10個
pic_max = soup.find_all("span")[10].text
print(pic_max)

#輸出每個圖片頁面的地址
for i in range(1,int(pic_max) + 1):
href = url+"/"+str(i)
print(href)1

好了,那麼我們接下來就是進行尋找圖片地址並且保存了,右鍵妹紙圖片,「檢查」可以發現

&Beautyleg 美腿寫真 No.997 Dora11

那麼這就是圖片的具體地址了

那麼我們的目的就要達成,保存它。

#coding=utf-8

import requests
from bs4 import BeautifulSoup

url = "http://www.mzitu.com/26685"
header = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 UBrowser/6.1.2107.204 Safari/537.36"}

html = requests.get(url,headers = header)
soup = BeautifulSoup(html.text,"html.parser")

#最大頁數在span標籤中的第10個
pic_max = soup.find_all("span")[10].text

#找標題
title = soup.find("h2",class_="main-title").text

#輸出每個圖片頁面的地址
for i in range(1,int(pic_max) + 1):
href = url+"/"+str(i)
html = requests.get(href,headers = header)
mess = BeautifulSoup(html.text,"html.parser")

#圖片地址在img標籤alt屬性和標題一樣的地方
pic_url = mess.find("img",alt = title)

html = requests.get(pic_url["src"],headers = header)

#獲取圖片的名字方便命名
file_name = pic_url["src"].split(r"/")[-1]

#圖片不是文本文件,以二進位格式寫入,所以是html.content
f = open(file_name,"wb")
f.write(html.content)
f.close()

不出意外你腳本所在的地方會有12張圖片

4.批量下載

上面講了如何下載一個套圖,其實所有的套圖下載只是加上兩重循環。成品如下:

#coding=utf-8
import requests
from bs4 import BeautifulSoup
import os
import sys
"""
#安卓端需要此語句
reload(sys)
sys.setdefaultencoding("utf-8")
"""

if(os.name == "nt"):
print(u"你正在使用win平台")
else:
print(u"你正在使用linux平台")

header = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 UBrowser/6.1.2107.204 Safari/537.36"}
#http請求頭
all_url = "http://www.mzitu.com"
start_html = requests.get(all_url,headers = header)

#保存地址
path = "D:/mzitu/"

#找尋最大頁數
soup = BeautifulSoup(start_html.text,"html.parser")
page = soup.find_all("a",class_="page-numbers")
max_page = page[-2].text

same_url = "http://www.mzitu.com/page/"
for n in range(1,int(max_page)+1):
ul = same_url+str(n)
start_html = requests.get(ul, headers=header)
soup = BeautifulSoup(start_html.text,"html.parser")
all_a = soup.find("div",class_="postlist").find_all("a",target="_blank")
for a in all_a:
title = a.get_text() #提取文本
if(title != ""):
print("準備扒取:"+title)

#win不能創建帶?的目錄
if(os.path.exists(path+title.strip().replace("?",""))):
#print("目錄已存在")
flag=1
else:
os.makedirs(path+title.strip().replace("?",""))
flag=0
os.chdir(path + title.strip().replace("?",""))
href = a["href"]
html = requests.get(href,headers = header)
mess = BeautifulSoup(html.text,"html.parser")
pic_max = mess.find_all("span")
pic_max = pic_max[10].text #最大頁數
if(flag == 1 and len(os.listdir(path+title.strip().replace("?",""))) &>= int(pic_max)):
print("已經保存完畢,跳過")
continue
for num in range(1,int(pic_max)+1):
pic = href+"/"+str(num)
html = requests.get(pic,headers = header)
mess = BeautifulSoup(html.text,"html.parser")
pic_url = mess.find("img",alt = title)
html = requests.get(pic_url["src"],headers = header)
file_name = pic_url["src"].split(r"/")[-1]
f = open(file_name,"wb")
f.write(html.content)
f.close()
print("完成")
print("第",n,"頁完成")

5.升級多進程版

#coding=utf-8
import requests
from bs4 import BeautifulSoup
import os
from multiprocessing import Pool
import sys

def find_MaxPage():
all_url = "http://www.mzitu.com"
start_html = requests.get(all_url,headers = header)
#找尋最大頁數
soup = BeautifulSoup(start_html.text,"html.parser")
page = soup.find_all("a",class_="page-numbers")
max_page = page[-2].text
return max_page

def Download(href,header,title,path):
html = requests.get(href,headers = header)
soup = BeautifulSoup(html.text,"html.parser")
pic_max = soup.find_all("span")
pic_max = pic_max[10].text # 最大頁數
if(os.path.exists(path+title.strip().replace("?","")) and len(os.listdir(path+title.strip().replace("?",""))) &>= int(pic_max)):
print("已完畢,跳過"+title)
return 1
print("開始扒取:" + title)
os.makedirs(path+title.strip().replace("?",""))
os.chdir(path + title.strip().replace("?",""))
for num in range(1,int(pic_max)+1):
pic = href+"/"+str(num)
#print(pic)
html = requests.get(pic,headers = header)
mess = BeautifulSoup(html.text,"html.parser")
pic_url = mess.find("img",alt = title)
html = requests.get(pic_url["src"],headers = header)
file_name = pic_url["src"].split(r"/")[-1]
f = open(file_name,"wb")
f.write(html.content)
f.close()
print("完成"+title)

def download(href,header,title):

html = requests.get(href,headers = header)
soup = BeautifulSoup(html.text,"html.parser")
pic_max = soup.find_all("span")
#for j in pic_max:
#print(j.text)
#print(len(pic_max))
pic_max = pic_max[10].text # 最大頁數
print(pic_max)

"""
#安卓端需要此語句
reload(sys)
sys.setdefaultencoding("utf-8")
"""

if __name__=="__main__":
if (os.name == "nt"):
print(u"你正在使用win平台")
else:
print(u"你正在使用linux平台")

header = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 UBrowser/6.1.2107.204 Safari/537.36"}
# http請求頭
path = "D:/mzitu/"
max_page = find_MaxPage()
same_url = "http://www.mzitu.com/page/"

#線程池中線程數
pool = Pool(5)
for n in range(1,int(max_page)+1):
each_url = same_url+str(n)
start_html = requests.get(each_url, headers=header)
soup = BeautifulSoup(start_html.text, "html.parser")
all_a = soup.find("div", class_="postlist").find_all("a", target="_blank")
for a in all_a:
title = a.get_text() # 提取文本
if (title != ""):
href = a["href"]
pool.apply_async(Download,args=(href,header,title,path))
pool.close()
pool.join()
print("所有圖片已下完")


你想更深入了解學習Python知識體系,你可以看一下我們花費了一個多月整理了上百小時的幾百個知識點體系內容:

【超全整理】《Python自動化全能開發從入門到精通》筆記全放送


1、稍微能看英文書籍

2、在瀏覽器中鍵入Electronic library. Download books free. Finding boooks

3、輸入「with python」並且按回車

4、找到感興趣的書籍並且單擊下載

5、啪啪啪


魚C論壇零基礎入門學習python視頻,裡面有教你如何製作一個爬蟲爬妹子圖片,很有趣。論壇裡面也有很多網友編寫的小項目可以參考一下。網址http://bbs.fishc.com

推薦一本書《python基礎教程》,書的最後有好幾個小項目,實現起來還是非常有趣的。

總之,學習編程語言是為了解決生活中的實際問題,不要為了學而學,莫忘初衷,才能有源源不斷的學習動力。基本語法掌握後,調你感興趣的一塊深入研究,比如我就對pygame感興趣,自己寫了個打飛機的遊戲。


去搞點破壞吧。

已經讀完了這麼多東西,你就不想去寫點什麼?

從什麼開始呢?

1 爬蟲。這個你在知乎上搜一下爬蟲就會得到很多有意思的故事,說不定還能得到別人的代碼

2 機器人。這裡特指chat bot和社交網站bot。比如基於wechat框架和人人api寫一個表白牆,比如基於xmpp寫一個把icq變成瀏覽器(順帶翻牆?)的機器人等等等等。在不支持群聊的服務上實現個聊天室之類的,開查詢天氣公眾號,利用聊天室開個dnd(龍與地下城)的服,這些代碼架構都不會太大

3 做個網站。被重複發明最多的輪子就是blog。不吐槽。不過做這個可能需要一點js基礎。嗯,「一點」和「基礎」也許該去掉,也許不用。

4 fork。在哪個網站看到了哪個不錯的小遊戲?fork一個出來試試!美工不夠的情況下你也可以得到一個很有意思的基礎版本的遊戲。比如說,做個2048出來唄。

5 kit。小工具也是很不錯的選擇,同樣是2048,寫個啟發式搜索的2048幫助程序讓你判斷當前狀態哪個方向更有利不是也不錯。

嗯?你說這些你都不知道怎麼下手?都沒學過?

但是,你已經掌握了Python的大半,剩下來的已經不是Python的問題。

你需要學的,是收集信息,比如一個爬蟲tutor,在有google的世界裡,這是很簡單的事,但是在沒有Google的世界裡,可能需要一點更傳統的方法或一個訪問Google的方法,哪一個更簡單,很難說。

你需要學的,是分析需求,分解它們,再析理它們,使他們只按內在邏輯排列。

你需要學的,是組織代碼,這個可能Python能幫到你,看一看pep8會有幫助。

從今以後,書便不再是你的老師,而是你的工具,你會從各種地方學到這些東西,也可能找遍各處都學不到,它們可能在別人的代碼里,別人的需求文檔里,甚至是你的夢裡。

調研,設計,編碼,重構,編程就在其中了,也許世界都在其中了。

要繼續寫下去,功夫已經在詩外了。


我覺得你的思路有些問題,你想的是先看書,學習基礎,打牢基礎然後在實戰,可我覺得你很難達到你想要的效果。我最開始也是這樣,光看資料,後來發現學了兩個禮拜還是迷迷糊糊,而且之前看的都不記得了,效果甚微。我覺得要想短時間內上手,就是直接實戰。而且是有目的的實戰。比如你有一個想要解決的問題,不妨就用它來開始。

我是學遙感的,需要大量的遙感影像數據,原來我就是一個一個點,一個一個下載,後來覺得太麻煩,就開始用Python爬蟲,學正則等等,把鏈接全部爬下來,後來又因為下載需要登錄,又學的模擬登陸,構建IP代理池,多線程下載。所有的東西你都可以在網上找到資料和代碼,只是你的需求不同,就需要你更改相應的代碼。一步一步來,每次實現一個小目的,最後匯聚成一個大目標。現在爬一般的網站沒有太大的問題了。後來,有用python寫了一些別的小程序,處理數據,畫圖等等。程序雖然小,但是學的東西是跟自己切實有用的。然後在回過頭去看書,看基本語法,看各種庫。當然,現在還是比較菜,代碼寫的邏輯性還是很差,還在繼續學習中。

那些一上來就扔給你一堆書,一堆網站的,我覺得效果並不是很好。因為我們要到那種隨便就啃1000多頁的書,還需要時間,目前還是堅持不下來。當你做一件事,只有持續的反饋回來,才能堅持下去。你可以試一試,找到你想實現的功能,直接上代碼。

最後,祝你成功。


推薦網站datahub.top,另外反對協東的答案,《python基礎教程》是本很枯燥的書,天天對著書print對新手的耐心實在是一種折磨,不推薦購買。


正如二樓所說的,興趣會在一直看書而不實幹的時間內被消耗,想學好一門技術,是需要不斷的磨練,而不是只是看看而已,只有從實幹中才能找到經驗,如果實在不知道如何去進行項目實戰,可以看看麥子學院上面的分頁器Paginator的使用 這個項目實戰,可以慢慢的模仿,然後變成自己的知識。


既然你對抓取網頁感興趣,也學完了一本書和官方的教程,我覺得完全可以學習網頁抓取了。不用把它想得那麼複雜,我想你有看那本《learn python》的勇氣,肯定不是有什麼人或者事逼著你要抓取網頁,既然是玩,又何必顧慮重重呢?倒是那本書這麼厚,等你看完黃花菜都涼了,如果不是為了學習語言本身的話,建議先不要啃它了。而且,網頁抓取不只是學好這門python就可以的事,你可能還需要了解一些其他的知識。

本人也是python愛好者,學它純粹是出於興趣,偶爾也能在學習中用到它。我學python才幾個月,也簡單的試過網頁抓取,感覺想入門沒那麼難,只要你英文夠好或者勤查字典,對著抓取網頁的庫的官方文檔慢慢學就可以了。推薦你先了解一下這幾個相關的庫:requests, BeautifulSoup, lxml。然後可以看看scrapy,再之後我就不知道了。

一起進步!


推薦一個網站:

挑戰Python

真的會讓你有種碼到上癮的感覺!

在這個過程中,你會不斷重複並熟悉list,tuple,dictionary以及各種built-in functions和基本module的使用,做這個題主要就是為了夯實基礎。當然看了題主的要求,如果你很痴迷爬蟲的話我個人覺得你要先從最基本的string操作,正則表達式以及那個re module入手,多寫幾個小程序,慢慢就上車了。


一樓說得很對

興趣會在一直看書而不實幹的時間內被消耗.

要想學得久還是得實戰。


Python入門的話,首推《A Byte of Python》,花很短的時間就能看完,並且看完後就可以寫一些小東西了。後面在實踐的時候可以多上網找些實例參考,多看看Python Manuals,熟悉了就好。


了解基本語法之後,開始嘗試寫東西,寫個小遊戲之類的,雖然會覺得很難,但比單純的學要高效的多


分頁阅读: 1 2