真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

一個完整的爬蟲入門程序-創(chuàng)新互聯(lián)

直接先說準(zhǔn)備工作:
(1)清楚爬蟲工作的流程:

創(chuàng)新互聯(lián)長期為近1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為莎車企業(yè)提供專業(yè)的成都網(wǎng)站建設(shè)、成都網(wǎng)站制作,莎車網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

向頁面發(fā)出請求---------獲取請求文件---------處理請求文件--------抽取自己想要的內(nèi)容

(2)要用到的函數(shù)與庫
主要是requests庫: 負(fù)責(zé)去向頁面發(fā)出請求
beautiSoup4庫:對抓取的頁面文檔進(jìn)行解析
re庫:匹配所需字段

可能存在的問題:
(1)編碼的問題:注意頁面中,以及讀寫的編碼
(2)循環(huán)讀取頁面時(shí)注意頁面訪問地址的變化情況

完整代碼:

import requests
from urllib3 import request
import re

class Spider:
    def __init__(self):
        # 初始化起始頁位置
        self.page = 1
        #爬取開關(guān),如果為True繼續(xù)爬取
        self.switch = True

    def loadPage(self):
        """
            作用:下載頁面
        """
        print("正在下載數(shù)據(jù)....")
                #這個頁面的下載規(guī)則
        url = "http://www.neihan8.com/article/list_5_" + str(self.page) + ".html"
        headers = {"User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"}
        response = requests.get(url, headers = headers)
                #處理編碼
        response.encoding=response.apparent_encoding

        #獲取每頁的HTML源碼字符串
        html = response.text

        #創(chuàng)建正則表達(dá)式規(guī)則對象,匹配每頁里的段子內(nèi)容,re.S 表示匹配全部字符串內(nèi)容
        pattern = re.compile('(.*?)
', re.S) #將正則匹配對象應(yīng)用到html源碼字符串里,返回這個頁面里的所有段子的列表 content_list = pattern.findall(html) #調(diào)用dealPage() 處理段子里的雜七雜八 self.dealPage(content_list) def dealPage(self, content_list): """ 處理每頁的段子 content_list : 每頁的段子列表集合 """ for item in content_list: # 將集合里的每個段子按個處理,替換掉無用數(shù)據(jù) item = item.replace("

","").replace("

", "").replace("
", "") #處理完后調(diào)用writePage() 將每個段子寫入文件內(nèi) self.writePage(item) def writePage(self, item): """ 把每條段子逐個寫入文件里 item: 處理后的每條段子 """ #寫入文件內(nèi) print("正在寫入數(shù)據(jù)....") #編碼的處理 with open(r"duanzi1.txt", "a",encoding="utf-8") as f: f.write(item) def startWork(self): """ 控制爬蟲運(yùn)行 """ #循環(huán)執(zhí)行,直到 self.switch == False while self.switch: # 用戶確定爬取的次數(shù) self.loadPage() command =input("如果繼續(xù)爬取,請按回車(退出輸入quit)") if command == "quit": # 如果停止爬取,則輸入 quit self.switch = False #每次循環(huán),page頁碼自增 self.page += 1 print("謝謝使用!") if __name__ == "__main__": duanziSpider = Spider() duanziSpider.startWork()

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


分享名稱:一個完整的爬蟲入門程序-創(chuàng)新互聯(lián)
網(wǎng)站鏈接:http://weahome.cn/article/dcooii.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部