原创 Python爬蟲實戰——豆瓣電影Top250

第一篇博客,用我昨天學的爬蟲來見證一下,純粹記錄自己的學習。 廢話不多說,show your code!! #!/usr/bin/python # -*- encoding:utf-8 -*- """ @author : kelvin

原创 解讀URL的組成部分

以下面這個URL爲例,介紹下普通URL的各部分組成 http://www.aspxfans.com:8080/news/index.asp?boardID=5&ID=24618&page=1#name 從上面的URL可以看出,一個

原创 Python爬蟲實戰——模擬登錄教務系統

之前都是爬靜態頁面,不用登錄的,這次試試有登錄的。 網頁的登錄主要是發送POST請求到服務器,得到響應後跳轉到登錄界面。每次登錄,瀏覽器都會記錄下cookie信息,在python中,可以用urllib,urllib2來獲取cookie信息

原创 爬蟲奇遇記——爬不到想要的內容

這一系列將分享在寫網絡爬蟲時遇到的奇葩事 我們在寫爬蟲時,總是先F12看一下網頁的源代碼,看到內容後再想策略去抓取想要的內容,這種思路對於文本內容是靜態的話是行得通的,但是如果遇到動態加載的內容,就很麻煩了,你會發現你爬下的html文件里

原创 Python文本相似度實戰——基於gensim和nltk庫

任務內容:給定一個文本庫,比如說新聞文本(無標註的)等等,現在有一些已經做好標註的文本,如何在文本庫中找到與做好標註的文本相似的文章。所用工具:python , gensim , nltkgensim提供了很多算法來實現文本相似度的比較,

原创 Python爬蟲實戰——豆瓣新書速遞

主要以豆瓣圖書首頁的新書速遞爲例,練習爬蟲過程中的請求網頁的方式,還有分別用三種方式來解析爬到的網頁文檔1.請求網頁可以用urllib2,open(),也可以用request(),這裏對這兩個庫的區別不做細講,主要講講爬蟲過程中的普通請

原创 爬蟲奇遇記——標籤去哪兒

這一系列分享我在寫爬蟲過程中遇到的奇葩事 這次遇到的是在爬html文件時,發現爬下來的標籤內容變了,舉個例子 <a class='f1 ersw'>有可能變成: <a class='f1'> 再看實際的,比如站長之家的whois查詢 爬

原创 爬蟲奇遇記——如何按照標籤的文本內容來抓取

俗話說的好:只要能爬下來,其他都不是事。 昨天寫爬蟲遇到這樣一個情況:父標籤的class內容都一樣,裏面子標籤只有標籤帶文本,還是來張圖比較明瞭: 我又要以站長之家的爲例說明了 可以發現,這兩塊,父標籤和子標籤內容一模一樣,findal

原创 BeautifulSoup及lxml使用小記

Bs4中常用findall與class_來尋找節點 book_cover=soup.find_all("div",class_='cover') 得到的結果是存在列表中的bs4 tree,仍舊可以用findall遍歷   遇到有些

原创 Python實用的字符串操作

遇到的實用字符串的操作,遇到一個寫一個,以後再系統整理成一篇 1.判斷一個字符串中是否含有想要找的字符串: my_string = "abcdef" if "abc" in my_string: has_abc = True

原创 機器學習實戰——使用K-近鄰算法識別手寫數字

使用K-近鄰分類器構造手寫識別系統,手寫數字圖片已經經過處理成爲文本文件,如下所示: 每張圖片都是32像素X32像素 首先,我們要把每個輸入的文本文件轉換KNN算法(前面的KNN算法實踐已經有了,這裏就不貼了)可以處理的格式,即一維數組

原创 KNN算法及python實現

鄰近算法,或者說K最近鄰(kNN,k-NearestNeighbor)分類算法是數據挖掘分類技術中最簡單的方法之一。所謂K最近鄰,就是k個最近的鄰居的意思,說的是每個樣本都可以用它最接近的k個鄰居來代表。 算法思想 kNN算

原创 python從子線程中獲得返回值

# coding:utf-8 import time from threading import Thread def foo(number): time.sleep(20) return number class

原创 python字符串反轉

python的str沒有reverse屬性,要反轉字符串時可以使用以下方法: 1.反向步進切片 In[20]: a = 'ABC_()' In[21]: a[::-1] Out[21]: ')(_CBA' 2.reversed() In[

原创 Python帶步進的切片

切片操作對python中所有可以索引的對象都可以切片操作 1.帶步進正向切片 默認步進爲1 In[24]: a = '123456789' In[25]: a[0:8] Out[25]: '12345678' 指定步進 In[26]: