iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 30
1
AI & Data

大數據與AI研習實作與心得 系列 第 30

Python -今天我想來點爬蟲程式

爬蟲原理:

抓取資料->分析結構->取出要的結構文字->輸出想要的格式

程式碼:

import requests
import time
from bs4 import BeautifulSoup   #Prase Html結構用的程式庫

url = "https://www.ptt.cc/bbs/Lifeismoney/index.html"       #ptt 省錢板的位址
for i in range(5):
    r = requests.get(url) #將網頁資料GET下來
    soup = BeautifulSoup(r.text,"html.parser")  
    sel = soup.select("div.title a")                    
    u = soup.select("div.btn-group.btn-group-paging a")
    print ("本頁的URL為"+url)
    url = "https://www.ptt.cc"+ u[1]["href"] #上一頁的網址
    time.sleep(0.05)                         #delay才會不抓太快
    for s in sel:
        print (s["href"],s.text)

程式輸出:

本頁的URL為https://www.ptt.cc/bbs/Lifeismoney/index.html
/bbs/Lifeismoney/M.1602727765.A.5A3.html [情報] 資生堂百優乳霜75+50ml$3650
/bbs/Lifeismoney/M.1602731566.A.53F.html [情報] 蘋果 lightning 傳輸線 2m $99
/bbs/Lifeismoney/M.1602732369.A.95B.html [新聞] 淘寶台灣年底退出台灣市場 今上午11時起
/bbs/Lifeismoney/M.1602733706.A.530.html [情報] 全家會員獨享
/bbs/Lifeismoney/M.1602735301.A.8FD.html [情報] line品牌購物名店分享活動
/bbs/Lifeismoney/M.1602744193.A.492.html [情報] Y購 日本iris大拍3.0除蟎吸塵機 特價2590
/bbs/Lifeismoney/M.1602744516.A.43B.html [情報] 幾間連鎖餐飲優惠(瓦城、王品、涮乃葉…
/bbs/Lifeismoney/M.1602745657.A.F09.html [情報] voicetube hero獎學金計畫
/bbs/Lifeismoney/M.1602746532.A.195.html [情報] UBER EATS 最新優惠
/bbs/Lifeismoney/M.1600490419.A.F42.html [公告] 近期版務宣導&版務置底討論&違規檢舉
/bbs/Lifeismoney/M.1528712119.A.3D8.html [公告] 省錢板板規 2018.06.11
/bbs/Lifeismoney/M.1601228280.A.CA5.html [公告] 10月份未滿1元之集點資訊集中文
本頁的URL為https://www.ptt.cc/bbs/Lifeismoney/index3023.html
/bbs/Lifeismoney/M.1602641334.A.A71.html [情報] 寶雅APP限時兌換
/bbs/Lifeismoney/M.1602647023.A.EA2.html [情報] 特力家週年慶LINE購物5%回饋
/bbs/Lifeismoney/M.1602647337.A.2FB.html [討論] 悠遊卡相關集點活動
/bbs/Lifeismoney/M.1602647529.A.C3A.html [情報] 本週OPENPOINT週四驚喜換 奮起湖雙拼便當
/bbs/Lifeismoney/M.1602651368.A.6B8.html Fw: [情報] 用蝦幣換iPhone 12現折券
/bbs/Lifeismoney/M.1602652234.A.845.html [情報] 雅詩蘭黛小棕瓶限定組特價+LINE導購12%
/bbs/Lifeismoney/M.1602653993.A.698.html [情報] 小米手持吸塵器$4695會員再92折
/bbs/Lifeismoney/M.1602655063.A.F7E.html [情報] ibon訂房 有雙倍券折扣(1500折抵3000)
/bbs/Lifeismoney/M.1602655912.A.E7E.html [情報] 肯德基 拿鐵第二杯半價&近期優惠券
/bbs/Lifeismoney/M.1602670203.A.3EB.html [情報] Switch主機+健身環大冒險同捆組
/bbs/Lifeismoney/M.1602670300.A.85F.html Re: [情報] iherb line導購10% 到今晚十二點
/bbs/Lifeismoney/M.1602671197.A.9F1.html [情報] Sensist 給何嘉仁的折扣碼-10% 免運
/bbs/Lifeismoney/M.1602677434.A.844.html [情報] goshare騎乘金
/bbs/Lifeismoney/M.1602684719.A.966.html [情報] 康是美 口罩
/bbs/Lifeismoney/M.1602702140.A.EE6.html [情報] Pixel 5 送 Google Play points 1000點
/bbs/Lifeismoney/M.1602722270.A.412.html [情報] Sandisk extreme pro A2 U3 128G
/bbs/Lifeismoney/M.1602724995.A.7C8.html [情報] 葡萄王週年慶搭配line購物全站2%回饋
本頁的URL為https://www.ptt.cc/bbs/Lifeismoney/index3022.html
/bbs/Lifeismoney/M.1602492034.A.2A2.html [情報] 國泰優惠APP百貨票券10%回饋
/bbs/Lifeismoney/M.1602504457.A.FF1.html [情報] 淘寶台灣雙十加碼
/bbs/Lifeismoney/M.1602547895.A.254.html [情報] 雅詩蘭黛簡訊兌換小棕瓶+原生露/櫻花水
/bbs/Lifeismoney/M.1602550614.A.1DD.html [情報] momo五月花衛生紙599元/72包/100抽
/bbs/Lifeismoney/M.1602552879.A.161.html [情報] 10/13-25 悠遊付PChome綁定信用卡10%
/bbs/Lifeismoney/M.1602558841.A.EE3.html [情報] MAC官網-用LINE Pay付款,最高享12%點
/bbs/Lifeismoney/M.1602569954.A.DAB.html [情報] Richart Life APP領取friDay 7天免費看
/bbs/Lifeismoney/M.1602572837.A.CAB.html [情報] 台塑生醫單件免運/洗髮精特價
/bbs/Lifeismoney/M.1602584465.A.41D.html [情報] 國泰ATM萊爾富冰拿鐵兌換券(六家分行)
/bbs/Lifeismoney/M.1602590917.A.6C2.html [情報] 85度C布丁奶茶
/bbs/Lifeismoney/M.1602591002.A.192.html [情報] Goshare騎乘金
/bbs/Lifeismoney/M.1602594771.A.D23.html [情報] 10/14 21:00 Edifier c3x 3999
/bbs/Lifeismoney/M.1602595809.A.2ED.html [情報] 美亞 Bose Qc35 ii 特價199美金
/bbs/Lifeismoney/M.1602598693.A.D86.html [情報] 全家 75%酒精買2送2
/bbs/Lifeismoney/M.1602639073.A.E25.html Re: [情報] 2020/8/1 -/9/15 PCHOME以悠遊付首筆回饋
/bbs/Lifeismoney/M.1602640877.A.D2E.html [情報] 中華iCloud三個月免費加送流量
/bbs/Lifeismoney/M.1602640895.A.E8F.html [情報] line points 1+1
本頁的URL為https://www.ptt.cc/bbs/Lifeismoney/index3021.html
/bbs/Lifeismoney/M.1602389483.A.CDF.html [情報] 全家APP必勝客400點換購3個小批薩399元
/bbs/Lifeismoney/M.1602390327.A.265.html [情報] Ariel 洗衣精720g 12袋 799
/bbs/Lifeismoney/M.1602394335.A.190.html 7-11的10月VIP-收假的小確幸早餐
/bbs/Lifeismoney/M.1602394638.A.4C7.html [公告] 水桶名單
/bbs/Lifeismoney/M.1602397945.A.9CB.html [情報] SKII 青春露230ml 雅詩蘭黛小棕瓶 50ml
/bbs/Lifeismoney/M.1602402151.A.246.html [情報] Goshare 騎乘金 20
/bbs/Lifeismoney/M.1602408266.A.382.html [情報] 福勝亭週年慶 10/12~10/21
/bbs/Lifeismoney/M.1602427744.A.332.html [情報] 萊雅金緻護髮精油100mL
/bbs/Lifeismoney/M.1602464894.A.F52.html Re: [情報] 10/6-11/11大潤發消費不限金額換衛生紙
/bbs/Lifeismoney/M.1602468184.A.DC9.html [情報] 隱藏版貼圖4組
/bbs/Lifeismoney/M.1602470300.A.73C.html [情報] 今天星巴克街口支付25%現金回饋
/bbs/Lifeismoney/M.1602472198.A.3F9.html [情報] foodpanda 優惠碼
/bbs/Lifeismoney/M.1602476347.A.A82.html [情報] 露天拍賣免費領運費券
/bbs/Lifeismoney/M.1602476476.A.112.html [情報] line points 1點
/bbs/Lifeismoney/M.1602484097.A.911.html [情報] 蘿拉蜜思蜜粉禮盒+首購9折
/bbs/Lifeismoney/M.1602484480.A.D3E.html [情報] Y購今日全站LINE 5%回饋
/bbs/Lifeismoney/M.1602488416.A.AAD.html [情報] 聯邦賴點卡火鍋燒肉最高10%回饋line pay
/bbs/Lifeismoney/M.1602488738.A.E07.html [情報] 遠傳用戶,首次訂購iCloud享三個月免費
本頁的URL為https://www.ptt.cc/bbs/Lifeismoney/index3020.html
/bbs/Lifeismoney/M.1602292893.A.39D.html [情報] 寵愛之名 美白精華 101ML $799
/bbs/Lifeismoney/M.1602293241.A.CE4.html Re: [情報] 10/6-11/11大潤發消費不限金額換衛生紙
/bbs/Lifeismoney/M.1602295321.A.DC8.html [情報] 金石堂紅利折抵 一點一元無上限
/bbs/Lifeismoney/M.1602296797.A.A56.html [情報] 今日限定,買指定貼圖全額回饋
/bbs/Lifeismoney/M.1602300513.A.CCC.html [情報] foodpanda 生鮮450-150
/bbs/Lifeismoney/M.1602307357.A.2FD.html [情報] 必勝客優惠券(可外送/網路訂餐)
/bbs/Lifeismoney/M.1602316744.A.B4D.html [情報] 清水茶香 歡慶雙十 全台 全品項 買一送一
/bbs/Lifeismoney/M.1602323224.A.B27.html [情報] 太和工坊 TR-500R
/bbs/Lifeismoney/M.1602330206.A.30B.html Re: [情報] 全聯 礦沛氣泡水 單瓶買一送一
/bbs/Lifeismoney/M.1602331147.A.207.html [情報] 21:00 line 樂天 10% 回饋
/bbs/Lifeismoney/M.1602334894.A.DC9.html [情報] 克補禮盒180錠 $999
/bbs/Lifeismoney/M.1602337258.A.767.html Re: [情報] 7-11 1010連假 10在便宜【第五發】
/bbs/Lifeismoney/M.1602340637.A.DC8.html [情報] 蝦皮驚喜加碼
/bbs/Lifeismoney/M.1602341200.A.D97.html Fw: [情報] 三井 Dynabook Satellite L40-G 17,900元
/bbs/Lifeismoney/M.1602345212.A.BFC.html [情報] 下載APP 換Kiehls Coffee House 咖啡試飲
/bbs/Lifeismoney/M.1602348846.A.8AE.html [情報] 專科洗面乳9元
/bbs/Lifeismoney/M.1602379596.A.016.html Re: [情報] myVideo 優質電影限時招待
/bbs/Lifeismoney/M.1602388824.A.CCD.html [新聞] 明12日起國內汽油價格不調整柴油調降0.1元


上一篇
Python - pandas (vi) dataframe資料框之相關指令
系列文
大數據與AI研習實作與心得 30

尚未有邦友留言

立即登入留言