久久久精品一区ed2k-女人被男人叉到高潮的视频-中文字幕乱码一区久久麻豆樱花-俄罗斯熟妇真实视频

一個完整的爬蟲入門程序

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

成都創(chuàng)新互聯(lián)成立與2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元宣漢做網(wǎng)站,已為上家服務(wù),為宣漢各地企業(yè)和個人服務(wù),聯(lián)系電話:028-86922220

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

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

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

完整代碼:

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)建正則表達式規(guī)則對象,匹配每頁里的段子內(nèi)容,re.S 表示匹配全部字符串內(nèi)容
        pattern = re.compile('<div\sclass="f18 mb20">(.*?)</div>', 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("<p>","").replace("</p>", "").replace("<br>", "")

            #處理完后調(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):
        """
            控制爬蟲運行
        """
        #循環(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()

本文標(biāo)題:一個完整的爬蟲入門程序
網(wǎng)站網(wǎng)址:http://sd-ha.com/article8/popeip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、微信小程序、網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)、網(wǎng)站排名、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司