스크래핑 테이블 헤더를 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 |