Skip to content

CTingy/ptt_crawler

Repository files navigation

ptt_crawler

ptt crawler practice

Dependencies:

  • pip install -r requirements.txt

  • 或是手動安裝

    python3 -m pip install lxml
    python3 -m pip install beautifulsoup4
    python3 -m pip install psycopg2
    

目標:

  • 下載指定看板的當日文章和文章下推文
  • 更新已下載文章中的當日推文
  • 將資料存入postgresql或是存成json檔

步驟:

  1. 先修改 conn_info.py 中的資料庫連線資訊
  2. 執行 create_table.py 建立文章表格和推文表格
  3. ptt.py 中的BOARD串列中輸入想要爬的看板名稱
  4. 運行ptt.py,把指定看板的文章內容和推文存入postgresql
  5. 若要更新推文,執行update_pushes.py 看以前存的文章下面有無當日新推文

說明:

  • 儲存文章和推文時是以當天日期做識別,沒有檢查資料是否有重複,一天只要run一次ptt.py & update_pushes.py就好了,要不然會重複存到相同內容
  • conn_info.py & ptt.py會被import到其他.py中,若要更改路徑請注意
  • 表格有兩個,分別是文章article與推文push,其中article的primary key:article_idpush的 foreign key
  • PTT網頁板格式時常跑掉,若該網頁格式不符,則會印出錯誤訊息:Wrong format on this page: url
  • 若只是單純下載當日文章以及推文存成json的話,請直接運行pttjson.py即可,但此方式就沒有檢查推文是否更新的功能

About

ptt crawler practice with requests lib

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages