빌린 게시판.데이터

빌보드 티컵 대여.8월 1일 종료


나는 90년대부터 인터넷에 접속한 사람들이 마땅히 보아야 할 논단이라고 생각한다.
각종 서비스의 여명기에 남은 오래된 가게들이 서비스를 끝낼 것 같다.

알겠습니다. 백업은요?


[중요 통지] teacup.byGMO에 대한 서비스 종료 ※ 추기 (2022/3/25) (3월 01일 14시 00분)
항상 teacup.사용해 주셔서 감사합니다.
여러 해 동안 보살핌을 받은 팀워크.단, 2022년 8월 1일(월) 13:00에 서비스가 종료됩니다.
예전에 어떤 게시판에 쓴 일지와 보낸 사진을 받을 수 있는 도구와 방법은 별다른 준비 없이 혼자 하는 것 같다.
공고판 기사를 다른 사이트로 옮기고 싶어요.
죄송합니다. 당사에서도 게시판에 보도된 데이터 이전 기능을 논의했으나 제공하기 어렵다고 판단했습니다.
https://support.teacup.com/hc/ja/articles/4544682345497-공고판 기사를 다른 사이트로 옮기고 싶어요.

데이터를 어떻게 얻습니까?


나는 이것이 고참과 노인들의 지역사회이기 때문에 많은 사람들이 이 때문에 괴로워할 것이라고 생각한다.이런 사람에게는 "... 너무 시끄럽게 굴지 마세요... 알았어요.."이런 내용이 역시 힘듭니다.

아니나 다를까 우리 고향에서 네가 방법을 생각해 봤으면 좋겠다고 연락이 왔다.


python과selenium이 있다면 어떻게 좀 해볼래요

이것은 본 문제의 구출용python 코드입니다


!
개인을 위한 개발.해당되지 않는 빌보드 유형도 있다.

간단한 방법

  • teacup.에서 기사 및 사진 가져오기
  • python(3.10.1)과selenium의 커튼
  • 을 사용합니다
  • Chrome 드라이브를 사용한 자동 조작
  • 입출력

  • 입력: 가져온 게시판의 URL(코드에 직접 기술)
  • 출력: 로컬 PC에서 사진과 텍스트 가져오기
  • 운영 환경

  • OS:Windows
  • 개발 환경: VScode
  • 동작 방법

  • 아래 소스 코드를 임의의 폴더에 파이프 형식으로 저장하십시오
  •  tcGetFile/
      └ tc_Scraping.py
    
    ↓ 소스 코드
    from selenium import webdriver
    import uuid
    import requests
    import os
    
    # WebDriverのインスタンス作成
    driver = webdriver.Chrome() 
    # URLを指定してブラウザを開く★1
    driver.get('https://XXXXX.teacup.com/YYYYYY/bbs')   
    
    txt = driver.find_element_by_xpath('//*[@id="contents"]/center[2]/table/tbody/tr/td[2]/form[1]').text
    maxPage = int(txt.replace('/', '').replace(' ', ''))
    maxPage += 1
    
    # フォルダ名
    new_path = "img" 
    # フォルダがないとき、フォルダ名を作成
    if not os.path.exists(new_path): 
        os.mkdir(new_path)
    
    fileBufStr = ""
    # 掲示板の表示ページ毎に実行
    for i in range(1, maxPage):
        pageNum = driver.find_element_by_xpath('//*[@id="contents"]/center[2]/table/tbody/tr/td[2]/form[1]/input[1]')
        pageMov = driver.find_element_by_xpath('//*[@id="contents"]/center[2]/table/tbody/tr/td[2]/form[1]/input[2]')
    
        # 掲示板の書き込み領域内の指定
        for element in driver.find_elements_by_xpath('//*[@id="contents"]/table'):
    
           # 要素のinnerTextを出力
           fileBufStr += element.text
           fileBufStr += "\n"
           print(element.text) # 書き込みテキスト確認ログ ★2
    
           # 画像を特定してローカルに保存
           imgs = element.find_elements_by_tag_name('img')
           for index, img in enumerate(imgs):
               imgurl = img.get_attribute('src')
               imgfile = imgurl.split('/')[-1].replace('M', '')
               src = "/".join(imgurl.split('/')[:-1]) + "/" + imgfile
               responce = requests.get(src)
               with open("img/" + "{}".format( str(uuid.uuid4())[:6] + imgfile ), "wb") as f:
                   f.write(responce.content)
    
        # 次のページに移動
        pageNum.send_keys()
        pageNum.send_keys( str( i+1 ) )
        pageMov.click()
    
    # 全ページのテキストを1枚テキストに保存
    f = open('myfile.txt', 'w',encoding='utf-8', errors='ignore')
    f.write(fileBufStr)
    f.close()
    
    # WebDriverを終了
    driver.close()
    driver.quit()
    
  • ★1에 원하는 게시판 주소를 입력하세요
  •  driver.get('https://XXXXX.teacup.com/YYYYYY/bbs')   
    
    VScode로 저장되었습니다.실행py.
  • 각자 환경을 설정하십시오.

  • Chrome이 자동으로 시작되고 처리를 시작합니다.
    폴더에서 사진을 하나씩 받거나 ★2 로그를 받으면 OK

  • 끝나면 폴더에 있는 투고 이미지와 myfile을 보여 줍니다.txt의 텍스트를 완성합니다.사진 이름은 UID 블렌드를 덮어쓰지 않는 이름입니다.
  •  tcGetFile/
      ├  img
      │  └ aaa.jpg, bbb.jpg・・・・他
      ├ myfile.txt
      └ tc_Scraping.py
    

    결과 확인 방법


    얻고 싶은 게시판을 되돌려줍니다. 처음과 마지막이 일치하는지 여부입니다.
    텍스트를 사용하여 확인하십시오.

    끝말


    실장 경험 없이 본보기로 기술했다.
    만약 누군가가 알아차렸다면 이 코드를 발전시켰을 것이다
    다른 사람을 효율적으로 도울 수 있다면 정말 좋겠다.

    좋은 웹페이지 즐겨찾기