Python小爬蟲 案例詳解

2021-09-12 14:49:56 字數 1844 閱讀 7770

python爬取**指定內容

下面的**中有詳細注釋,每個方法下都有解釋說明方法的用途,包括:

# -*- coding: utf-8 -*-

# 引入用於爬蟲的乙個包urllib2

import urllib2

# 引入正規表示式的包

import re

def loadpage(url):

'''對爬蟲進行偽裝,並爬取乙個頁面的所有內容

'''# 瀏覽器的user_agent,用市面上瀏覽器的這個引數

header =

#建立訪問請求

req = urllib2.request(url,headers = header)

#開啟指定的url

response = urllib2.urlopen(req)

#讀取url的內容

result = response.read()

return result

def specialcontent(result):

'''爬取頁面指定內容,如貼吧中的帖子詳情

'''#撰寫正規表示式

content = re.compile(r'(.*?)

',re.s)

#用正規表示式抓取指定內容

item_list = content.findall(result)

#將乙個結果轉成乙個string,並彙總成乙個大的string

s = '/n'

for i in item_list:

s = s + str(i)

return s

def write_to_file(file_name,txt):

'''將txt文字存入到file_name檔案中

'''print('正在儲存檔案'+file_name)

# 開啟檔案

f = open(file_name,'w')

#將結果寫入檔案

f.write(txt)

#關閉檔案

f.close()

def tieba_spider(url, begin_page,end_page):

'''構造每乙個頁面的url

'''for i in range(begin_page,end_page+1):

#經觀察,頁面編碼和pn=後面的資料具有規律

pn = 50*(i - 1)

#構造完整的頁面url

urlreq = url+str(pn)

#爬取該頁面的內容

result = loadpage(urlreq)

#將結果存入檔案

file_name = str(i)+'.txt'

content = specialcontent(result)

write_to_file(file_name,content)

if __name__ == '__main__':

'''輸入要爬網頁的url和起止頁碼

'''#輸入要爬取的一系列網頁url中固定不變的部分

url = raw_input('please input url:')

#輸入起始頁碼

begin_page = int(raw_input('please begin page:'))

#輸入截止頁碼

end_page = int(raw_input('please end page:'))

#爬取一系列網頁

tieba_spider(url,begin_page,end_page)

更複雜的爬取任務可以用更複雜的正規表示式實現。另外網路爬蟲框架scrapy也是非常有用的爬蟲工具,可以嘗試學習。

python爬蟲案例 Python爬蟲案例集合

在python2.x裡面有urllib和urllib2 在python3.x裡面就把urllib和urllib2合成乙個urllib urllib3是在python3.x了裡面新增的第三方擴充套件。import urllib.request 向指定的url位址傳送請求,並返回伺服器響應的類檔案物件 ...

scrapy爬蟲小案例

在豆瓣圖書爬取書籍資訊為例 爬取下面劃紅線的資訊 1.先建立乙個myspider專案 如何建立專案上面已經說過了 2.開啟myspider目錄下的items.py item 定義結構化資料字段,用來儲存爬取到的資料 因為要爬取的是兩行資訊,下面定義兩個變數來訪問字串 coding utf 8 def...

實戰 python爬蟲經典小案例彙總

所有例項 github位址 開始最好模仿,不要自己寫,錯了找不到原因 應用 搶票,投票,報告分析,飲食地圖,輿情監控 儲存資料 的方法大概可以分為幾類 儲存文字 儲存二進位制檔案 包括 儲存到資料庫 1.首先是獲取目標頁面 2.解析獲取的網頁中的元素,唯一定位,取得自己想要的 借助各種庫工具,分析頁...