欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實(shí)現(xiàn)可獲取網(wǎng)易頁面所有文本信息的網(wǎng)易網(wǎng)絡(luò)爬蟲功能示例

 更新時(shí)間:2018年01月15日 11:00:36   作者:壞蛋是我  
這篇文章主要介紹了Python實(shí)現(xiàn)可獲取網(wǎng)易頁面所有文本信息的網(wǎng)易網(wǎng)絡(luò)爬蟲功能,涉及Python針對(duì)網(wǎng)頁的獲取、字符串正則判定等相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Python實(shí)現(xiàn)可獲取網(wǎng)易頁面所有文本信息的網(wǎng)易網(wǎng)絡(luò)爬蟲功能。分享給大家供大家參考,具體如下:

#coding=utf-8
#---------------------------------------
#  程序:網(wǎng)易爬蟲
#  作者:ewang
#  日期:2016-7-6
#  語言:Python 2.7
#  功能:獲取網(wǎng)易頁面中的文本信息并保存到TXT文件中。
#---------------------------------------
import string
import urllib2
import re
import os
class WangYi_Spider:
  #申明相關(guān)屬性
  def __init__(self):
    #給wangyiUrl屬性賦值
    self.wangyiUrl="http://www.163.com/"
    #用來保存頁面中文字信息
    self.pageinfor=[]
    print u'已經(jīng)啟動(dòng)網(wǎng)易爬蟲,爬爬...'
  #初始化加載頁面并將其轉(zhuǎn)碼存儲(chǔ)
  def wangyi(self):
    #讀取頁面的原始信息并將其從gbk轉(zhuǎn)碼
    Page=urllib2.urlopen(self.wangyiUrl).read().decode('gbk')
    #獲取頁面標(biāo)題
    title=self.find_title(Page)
    print u'網(wǎng)頁名稱:'+title
    #獲取頁面中文本信息
    self.save_infor(title)
  #查找頁面標(biāo)題
  def find_title(self,page):
    #匹配<title>xxxx</title>
    myTitle=re.search(r'<title>(.*?)</title>',page,re.S)
    #初始化標(biāo)題名為暫無標(biāo)題
    title=u'暫無標(biāo)題'
    #如果標(biāo)題存在把標(biāo)題賦值給title
    if myTitle:
      #(.*?)這稱作一個(gè)group,組是從1開始
      title=myTitle.group(1)
    else:
      print u'爬蟲報(bào)告:無法加載網(wǎng)頁標(biāo)題...'
    return title
  #保存頁面信息
  def save_infor(self,title):
    #加載頁面文本信息到數(shù)組中
    self.get_infor()
    #創(chuàng)建并打開本地文件
    f=open(title+'.txt','w+')
    #把獲取的頁面信息寫入文件中
    f.writelines(self.pageinfor)
    #關(guān)閉打開的文件
    f.close()
    print u'爬蟲報(bào)告:文件'+title+'.txt'+u'已經(jīng)下載:'+os.getcwd()
    print u'按任意鍵退出...'
    raw_input()
  #獲取頁面源碼并將其存儲(chǔ)到數(shù)組中
  def get_infor(self):
    #獲取頁面中的源碼
    page=urllib2.urlopen(self.wangyiUrl).read()
    #把頁面中的內(nèi)容gbk解碼然后獲取頁面中所有的文本信息
    self.deal_infor(page.decode('gbk'))
  #從頁面代碼中獲取所需文信息
  def deal_infor(self,page):
    #獲取<em >XXX</em>的文本信息XXX
    emTagItems=re.findall("<em.*?>(\W+?)</em>",page,re.S)
    #獲取<span>XXXX</a>的文本信息XXXX
    spanTagItems=re.findall("<span>(\W+?)</span>",page,re.S)
    #獲取<a .*>XXXX</a>的文本信息XXXX
    aTagItems=re.findall("<a.*?>(\W+?)</a>",page,re.S)
    #把em tag中獲取的文本信息添加到數(shù)組pageinfor中
    for emItem in emTagItems:
      #對(duì)獲取的文本信息用gbk進(jìn)行編碼
      self.pageinfor.append(emItem.encode('gbk')+'\n')
    #把span tag中獲取的文本信息添加到數(shù)組pageinfor中
    for spanItem in spanTagItems:
      #對(duì)獲取的文本信息用gbk進(jìn)行編碼
      self.pageinfor.append(spanItem.encode('gbk')+'\n')
    #把a(bǔ) tag中獲取的文本信息添加到數(shù)組pageinfor中
    for aItem in aTagItems:
      #對(duì)獲取的文本信息用gbk進(jìn)行編碼
      self.pageinfor.append(aItem.encode('gbk')+'\n')
#------------程序入口處----------------
print u"""#---------------------------------------
#  程序:網(wǎng)易爬蟲
#  作者:ewang
#  日期:2016-7-6
#  語言:Python 2.7
#  功能:獲取網(wǎng)易頁面中的文本信息并保存到TXT文件中
#--------------------------------------------------
"""
wangyiSpider=WangYi_Spider()
wangyiSpider.wangyi()

更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python Socket編程技巧總結(jié)》、《Python正則表達(dá)式用法總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Python讀取及保存mat文件的注意事項(xiàng)說明

    Python讀取及保存mat文件的注意事項(xiàng)說明

    這篇文章主要介紹了Python讀取及保存mat文件的注意事項(xiàng)說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Python?計(jì)算機(jī)視覺編程進(jìn)階之OpenCV?圖像銳化及邊緣檢測(cè)

    Python?計(jì)算機(jī)視覺編程進(jìn)階之OpenCV?圖像銳化及邊緣檢測(cè)

    計(jì)算機(jī)視覺這種技術(shù)可以將靜止圖像或視頻數(shù)據(jù)轉(zhuǎn)換為一種決策或新的表示。所有這樣的轉(zhuǎn)換都是為了完成某種特定的目的而進(jìn)行的,本篇我們來學(xué)習(xí)下如何對(duì)圖像進(jìn)行銳化處理以及如何進(jìn)行邊緣檢測(cè)
    2021-11-11
  • python?label與one-hot之間的互相轉(zhuǎn)換方式

    python?label與one-hot之間的互相轉(zhuǎn)換方式

    這篇文章主要介紹了python?label與one-hot之間的互相轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Python條件語句與循環(huán)語句

    Python條件語句與循環(huán)語句

    這篇文章主要介紹了Python條件語句與循環(huán)語句,條件語句就是通過指定的表達(dá)式的運(yùn)行結(jié)果來判斷當(dāng)前是執(zhí)行還是跳過某些指定的語句塊,循環(huán)語句就是對(duì)某些語句的重復(fù)執(zhí)行,這個(gè)重復(fù)執(zhí)行是通過指定表達(dá)式來控制的,下面來看具體內(nèi)容及續(xù)航管案例吧,需要的朋友可以參考一下
    2021-11-11
  • 如何利用Python+OpenCV實(shí)現(xiàn)簡易圖像邊緣輪廓檢測(cè)(零基礎(chǔ))

    如何利用Python+OpenCV實(shí)現(xiàn)簡易圖像邊緣輪廓檢測(cè)(零基礎(chǔ))

    輪廓是形狀分析和物體檢測(cè)和識(shí)別的有用工具,下面這篇文章主要給大家介紹了關(guān)于如何利用Python+OpenCV實(shí)現(xiàn)簡易圖像邊緣輪廓檢測(cè)(零基礎(chǔ))的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • python進(jìn)階學(xué)習(xí)實(shí)時(shí)目標(biāo)跟蹤示例詳解

    python進(jìn)階學(xué)習(xí)實(shí)時(shí)目標(biāo)跟蹤示例詳解

    這篇文章主要為大家介紹了python進(jìn)階學(xué)習(xí)實(shí)時(shí)目標(biāo)跟蹤示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • python 非遞歸解決n皇后問題的方法

    python 非遞歸解決n皇后問題的方法

    這篇文章主要介紹了python 非遞歸解決n皇后問題的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • python opencv之SURF算法示例

    python opencv之SURF算法示例

    這篇文章主要介紹了python opencv之SURF算法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-02-02
  • python如何將數(shù)據(jù)集按比例隨機(jī)切分

    python如何將數(shù)據(jù)集按比例隨機(jī)切分

    這篇文章主要介紹了python如何將數(shù)據(jù)集按比例隨機(jī)切分問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • python如何標(biāo)準(zhǔn)化日期時(shí)間格式轉(zhuǎn)化成非標(biāo)準(zhǔn)化格式

    python如何標(biāo)準(zhǔn)化日期時(shí)間格式轉(zhuǎn)化成非標(biāo)準(zhǔn)化格式

    這篇文章主要介紹了python如何標(biāo)準(zhǔn)化日期時(shí)間格式轉(zhuǎn)化成非標(biāo)準(zhǔn)化格式問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06

最新評(píng)論