作者Hsins (迅雷不及掩耳盜鈴)
看板Python
標題Re: [問題] 爬蟲自動更新程式
時間Thu Sep 20 10:53:52 2018
※ 引述《WENroger (666)》之銘言:
: 標題: [問題] 爬蟲自動更新程式
: 時間: Wed Sep 19 16:36:26 2018
:
: 手機排版請見諒!!!!
: 是這樣的如題
:
: 小弟最近想寫一個爬蟲自動更新程式
: 程式有以下目的
:
: 例如:
: 我今天爬觀光局網站
: 將全部景點資訊爬下
: 過了一個月後觀光局多了10個新的景點
: 我可以透過這個程式讓爬蟲自動執行
: 並把這10個新的景點爬下來
:
: 請問這個程式是我需要另外再寫一個
: 還是我可以在python做出一樣目的?
: 另外就是我該從哪一方面的資訊去起手?
:
: 謝謝
:
: --
: → WENroger: 不知道怎麼讓爬蟲做到自動更新,像是網路上提到scrapy可 09/19 22:37
: → WENroger: 不可以做到這個目的?另外就是先前資料都是匯入excel做 09/19 22:37
: → WENroger: 整理再匯入資料庫,這樣子的步驟會不會影響爬蟲的自動 09/19 22:37
: → WENroger: 更新? 09/19 22:37
你需要的是先學會找資料的方式,以工程師的思維來說是要將問題拆解
,一步步地去解決各個部分。我不知道你的搜尋方式會是什麼,可是這
對於寫程式來說,思維方式影響十分大,你都知道自己的問題是要自動
更新,然後還想知道 scrapy 這個框架能不能完成,不是應該查找的關
鍵字可以使用 "scrapy timer" "scrapy schedule" "scrapy routine"
光這些下去就找到一堆了,如果你說英文看不懂,很抱歉我在這樣的關
鍵字至少就找到了像下面這樣的中文討論區:
https://segmentfault.com/q/1010000008578604
https://blog.csdn.net/vivian_ll/article/details/65442105
甚至撇除你對 Python 或 scrapy 不熟,只是一個可以單次去爬的執行
檔,不論是 Windows/Unix/Linux 也可以做執行檔排程工作吧?
另外你提到的匯入 excel做整理再匯入資料庫,解決辦法也很多。你完
全可以捨棄這種方式,直接將爬取完的結果以適當的資料結構儲存,利
用 pandas 處理完之後,直接存取入資料庫。又或是使用 Python 直接
對 excel檔案進行存取,把匯入 excel做整理這件事情全都自動化,也
是可行的方式。
至於怎麼處理?怎麼匯入資料庫?善用你的搜尋引擎好嗎?
--
題外話,其實我不太懂你要用 Python 做這件事情的原因,因為照你的
說法,我去看了一下觀光局網站,你直接用 Excel 寫 vba 都能完成需
求,而且照你的問法你對 Python 也不熟的樣子…
爬蟲不是只有 Python 可以寫,當然他提供的框架讓你爬起來很方便,
開發起來速度也快。但你看起來似乎也不是很熟悉,我建議你先把問題
拆解,一個個功能慢慢再去添加:
1. 把網頁爬下來,並整理成具有規則規範的格式
在這個過程你就會遇到是不是要添加 header 檔案,
爬下的結果要怎麼適當地進行字串處理,可能要用到
xpath 去進行定位或是 Regular Expression 做字串
處理。
2. 將爬下來的結果輸出儲存
如果要儲存成 .xlsx檔要怎麼處理?是不是真的有需
要存成這種格式?還是單純的 .csv 也可以完成目標
?如果要匯入資料庫,是不是 python 可以實現?
3. 定期爬取
新資料跟舊資料的衝突處理?時間間隔?網站是否有
防止爬取的機制?我的 buffer time 是不是要調整
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 148.177.185.133
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1537412036.A.1D0.html
推 gmccntzx1: @WENroger 看到這篇應該可以更了解為什麼把問題敘述 09/20 14:21
→ gmccntzx1: 清楚才能更快尋求到幫助了吧? 09/20 14:21
推 a9301040: 推 09/20 19:46
推 WENroger: 感謝H大的補充! 09/21 11:20
推 smartree: 感謝思考的分享 09/22 02:52