Webページのキャプチャ/スクロール<基本>


💡 Web scripting/スクロールの概要


ウェブサイトから特定の情報を取得したい場合は、ポータルサイトで検索するのが一般的です.
検索した情報に基づいて解決します.
しかし、人間ではない機械が情報を得ると、時間も短くなる.
簡単な情報収集なども自動化できるので、人がやらなくてはいけません.
ネットワークスクロールとは,ネットワークを介して情報を収集する行為である.スクロール
翻訳すると「這う」という意味があります.Webからサイトにアクセスします.
必要な情報を集めることです.
これに類する用語としてWeb screepingがある.スクロールに似ていますが、少し違います.
使用する用語.スクロールは自動化に重点を置き、自分で戻ることができます.
Screepingの目的が特定の情報を取得する場合、スクロールは主にインターネット上のサイトを
インデックスの作成を目的としています.
このような違いはあるが,情報収集の目的から見ると似ている.

💡 Practice


求職サイト「人」で「データ分析」を検索したときに出てきた求人広告で、scrippingをしてみました。また、入力した検索語が異なる場合は、検索語で求職公告を切り取ることもできます。

from urllib.request import urlopen # url을 html로 열기위함.
from urllib.parse import quote_plus # 한글인식을 위함.
from bs4 import BeautifulSoup 

Base_url = 'https://www.saramin.co.kr/zf_user/search?search_area=main&search_done=y&search_optional_item=n&searchType=search&searchword='
Plus_url = input('검색어를 입력하세요: ')
url = Base_url + quote_plus(Plus_url) # 한글을 검색하게 되면  urllib.parse.quote_plus을 앞에 붙여줘야한다.
html =  urlopen(url).read()
soup = BeautifulSoup(html, 'html.parser')
title = soup.select('.job_tit a')
for i in title:
    print(i['title'])
    print('https://www.saramin.co.kr' + i['href'])
    print()
  • の検索語を受け取り、その検索語による求人公告を切り取るために入力によりurlを2つ作成してまとめた.
  • urlopenで生成されたurlをhtmlに変更し、変数htmlに格納します.
  • 基本的で高速なhtml.解析器を使用してBeautifulSoupを定義します.
  • selectで行われているので代表格ですjob titという名前のクラスに指定されたaタグをtitleとして使用します.
  • の複文で、aラベルのtitleを持ってきます.これは公告の文章です.
  • 以降は、この公告の詳細ページurlに接続するためである.
  • <select -> find_all>

    from urllib.request import urlopen # url을 html로 열기위함.
    from urllib.parse import quote_plus # 한글인식을 위함.
    from bs4 import BeautifulSoup 
    
    Base_url = 'https://www.saramin.co.kr/zf_user/search?search_area=main&search_done=y&search_optional_item=n&searchType=search&searchword='
    Plus_url = input('검색어를 입력하세요: ')
    url = Base_url + quote_plus(Plus_url) # 한글을 검색하게 되면  urllib.parse.quote_plus을 앞에 붙여줘야한다.
    html = urlopen(url).read()
    soup = BeautifulSoup(html, 'html.parser')
    title = soup.find_all(class_ = 'job_tit')
    
    for i in title:
        print(i.a['title'])
        print('https://www.saramin.co.kr' + i.a['href'])
        print()

    出力外観