스크래핑 테이블 헤더를 key 리스트에 받기.

2024. 8. 10. 12:23정보처리,전산/Python

반응형

requests와 BeautifulSoup 라이브러리를 사용하여 웹 페이지에서 데이터를 가져와 처리하는 웹 스크래핑 작업

 

 특정 웹 페이지에 있는 테이블의 헤더(각 열의 제목)를 추출하여 key라는 리스트에 저장한다.

 

 

import requests
from bs4 import BeautifulSoup

URL = ''
response = requests.get(URL)
soup = BeautifulSoup(response.text, 'html.parser')


key=[]


for element in soup.find('table').find_all('th'):
    key.append(element.text)

print(key)

 

 

 

import requests
from bs4 import BeautifulSoup

URL = ''
response = requests.get(URL)
soup = BeautifulSoup(response.text, 'html.parser')


key=[]
value= []

for element in soup.find('table').find_all('th'):
    key.append(element.text)

for element in soup.find('table').find('tbody').find_all('tr'):
    temp =[]
    for td_element in element.find_all('td'):
        temp.append(td_element.text)
    value.append(temp)

print(value)

 

 

 

 

 

 

 

■ key와 value를 합쳐서 dictionary 형태로 출력

 

 

import requests
from bs4 import BeautifulSoup

URL = 
response = requests.get(URL)
soup = BeautifulSoup(response.text, 'html.parser')


key=[]
value= []

for element in soup.find('table').find_all('th'):
    key.append(element.text)

for element in soup.find('table').find('tbody').find_all('tr'):
    temp =[]
    for td_element in element.find_all('td'):
        temp.append(td_element.text)
    value.append(dict(zip(key,temp)))

print(value)

 

 

■  링크가 가리키는 페이지의 첫 번째 <p> 태그의 텍스트를 출력

import requests
from bs4 import BeautifulSoup

URL = ''
response = requests.get(URL)
soup = BeautifulSoup(response.text, 'html.parser')

for atag in soup.find_all('a'):
    response = requests.get('https:///' + atag.attrs['href'])
    soup = BeautifulSoup(response.text, 'html.parser')
    print(soup.find('p').text)

 

 

 

soup.find_all('a')는 모든 <a> 태그 (하이퍼링크) 요소를 찾는다. 각 <a> 태그에서 href 속성 값을 추출하고, 이를 사용하여 새로운 URL을 생성한다.

  • 생성된 URL로 다시 requests.get()을 호출하여 새로운 페이지를 요청한다.
  • 이 새로운 페이지의 HTML을 파싱하고, <p> 태그의 텍스트를 추출하여 출력한다.

 

반응형

'정보처리,전산 > Python' 카테고리의 다른 글

정수 유효성 검사 if  (0) 2024.08.18
부동소수점 연산의 한계  (0) 2024.08.17
Variable Arguments 가변 파라미터  (1) 2024.07.16
list set의 값 비교  (0) 2024.07.08
list 자료형의 for 문 요소 출력  (0) 2024.07.08