DAY42[N322]
13540 ワード
HTML & CSS
HTML
:Webページの内容を何らかの方法で表示する方法を示す寸法言語です.
HTML Element
head
、body
、div
、li
など;<head>
)と閉じたタグ(</head>
)<br>
,線を追加:<hr>
)HTML Children
<ul>
<li>Hello</li>
<li>World</li>
<li>!</li>
</ul>
結果CSS
:Webドキュメントがどのように表示されているかを示すスタイルシート言語です.
CSS Selector
CSS継承
<div style="color:red">
<p>I have no style</p>
</div>
結果I have no style
<p>
スタイルは適用されませんが、<div>
の影響を受けます.CSSレベル
<p class="banana">I have a banana class</p>
.banana {
color:"yellow";
}
CSS ID
<p id="pink">My id is pink</p>
#pink {
color:"pink";
}
-「#」記号でスタイルを決定できます.DOM
:HTML、XMLなどのドキュメントのプログラミングインターフェース
DOM methods
開発者ツールを開いてコンソールウィンドウに入り、JavaScriptを使用してDOMgetElementsbyTagName
:タグ名を使用してドキュメントの要素を返します.getElementById
:idに一致する要素を返します.getElementsByClassName
:クラスに一致する要素を返します.querySelector
:コレクタに一致する要素を返しますquerySelectorAll
:コレクタに一致するすべての要素を返します.document.querySelectorAll('p')
この方法ではスクロール時よりも近づきやすいWeb Scraping
Webスキャン、スクロール
Webスキャン手順
リクエストライブラリ&レスポンス受信
$ pip install requests
import requests
requests.get('https://google.com')
#get(http 요청 메소드): 뭔가를 가지고 올 때 사용
------------
<Response [200]> #정상적인 연결, requests 라이브러리의 Response 타입
HTTP状態コード resp.status_code #응답코드 확인
raise_for_status
応答が成功しなければ、エラー応答内容
resp.text
結果-成功'<!doctype html><html itemscope="" itemtype="http://schema.org/WebPage" lang="ko"><head>...</body></html>'
BeautifulSoupライブラリ
実際に返された応答をグループ化し、情報を取得します.
$ pip install beautifulsoup4
デフォルトのグループ化
import requests
from bs4 import BeautifulSoup
url = 'https://google.com'
page = requests.get(url)
soup = BeautifulSoup(page.content, 'html.parser')
要素の検索
findとfind all
find
:条件に一致する最初の結果を返します.find_all
:条件に一致するすべての結果を返します.cat_elements = soup.find_all(class_='cat')
for cat_el in cat_elements:
cat_el.find(class_='fish')
タグの使用
例:catクラスはdivラベルにもpラベルにも存在します
# div 태그 활용
cat_div_elements = soup.find_all('div', class_='cat')
文字列の使用
soup.find_all(string='raining')
#대소문 구분없이 찾고 싶을때
soup.find_all(string=lambda text: 'raining' in text.lower())
# 태그 추가
soup.find_all('h3', string='raining')
情報の取得
<p class='cat'>This is a p-cat</p>
cat_el = soup.find('p', class_='cat')
cat_el.text #=> 'This is a p-cat'
# 불필요한 띄어쓰기 있을때
cat_el.text.strip()
課題参照サイト 動画をスクロール
詳細
WebスクリプトマッピングによるTOYプロジェクトの試行
例)Melon 100チャートor JimarketまたはCoopang Best 100を使用してみる
Reference
この問題について(DAY42[N322]), 我々は、より多くの情報をここで見つけました https://velog.io/@ayi4067/DAY42N322テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol