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.解析獲取的網頁中的元素,唯一定位,取得自己想要的 借助各種庫工具,分析頁...