공부한 내용 정리하는 공간입니다.
틀린 내용이 있을 수 있습니다.
모든 지적, 첨언 환영합니다.
오늘의 코드
1. 아래 주소에서 항목의 주소를 가져오기
https://www.malware-traffic-analysis.net/2023/index.html
2. 제목과 링크 정보를 전체 URL 형식으로 출력하기
3. 출력된 결과를 txt 파일로 저장하기
import requests
from bs4 import BeautifulSoup
url = "https://www.malware-traffic-analysis.net/2023/index.html"
headers = {
'User-Agent': 'Mozilla/5.0',
'Content-Type': 'text/html; charset=utf-8'
}
req = requests.get(url, headers=headers)
soup = BeautifulSoup(req.text, "lxml")
tags = soup.select('#main_content > div.content > ul > li > a.main_menu')
print(tags)
results = []
for tag in tags:
link_text = tag.text
link_href = f"https://www.malware-traffic-analysis.net/2023/{tag['href']}"
results.append(f"{link_text}\n{link_href}\n")
print(link_text)
print(link_href)
with open('write.txt', 'w', encoding='utf-8') as file:
for result in results:
file.write(result)
오늘의 코드 결과


오늘의 코드 설명
1. 아래 주소에서 항목의 주소를 가져오기
https://www.malware-traffic-analysis.net/2023/index.html
url = "https://www.malware-traffic-analysis.net/2023/index.html"
headers = {
'User-Agent': 'Mozilla/5.0',
'Content-Type': 'text/html; charset=utf-8'
}
웹 사이트에 요청을 보내기 위해 사용할 url, headers를 설정
위 코드로 https://www.malware-traffic-analysis.net/2023/index.html 페이지의 콘텐츠를 가져올 수 있음
req = requests.get(url, headers=headers)
지정한 url, headers 정보로 웹 서버에 get 요청을 보내서 응답 내용을 req에 저장
req에는 응답 본문, 헤더, 쿠키 등의 정보가 포함됨
soup = BeautifulSoup(req.text, "lxml")
HTML 소스 코드 req.text를 lxml로 파싱해서 soup에 저장
2. 제목과 링크 정보를 전체 URL 형식으로 출력하기
tags = soup.select('#main_content > div.content > ul > li > a.main_menu')
#main_content > div.content > ul > li > a.main_menu : 제목의 CSS selector(CSS 선택자)
CSS 선택자에 맞는 태그들을 리스트로 반환하여 tags에 저장
link_text = tag.text
link_href = f"https://www.malware-traffic-analysis.net/2023/{tag['href']}"
tag의 내용을 link_text에 저장
>link_text=제목 텍스트
tag의 href 속성값을 link_href에 저장
>link_href=제목의 링크
3. 출력된 결과를 txt 파일로 저장하기
with open('write.txt', 'w', encoding='utf-8') as file:
write.txt를 쓰기 모드로 열어서 파일 내용을 file에 저장
for result in results:
리스트 results에는 {link_text}\n{link_href}\n 으로 만들어진 내용이 들어있음
file.write(result)
result는 리스트 results에서 반복되기 때문에 file에 리스트 results의 요소를 하나씩 작성
'클라우드기반 스마트 융합보안 과정 > Python' 카테고리의 다른 글
| [Python] Workbook(), 워크북.active, 워크시트.title, 워크시트['셀 주소'], 셀 주소.value, 워크북.save() (0) | 2025.01.15 |
|---|---|
| [Python] feedparser.parse(), .entries, pd.DataFrame(), .to_excel() (0) | 2025.01.15 |
| [Python] requests, .get(), .find_all(), .select() (0) | 2025.01.15 |
| [Python] 웹 스크랩핑, 웹 크롤링, BeautifulSoup, parser (0) | 2025.01.15 |
| [Python] 환경변수, .env 파일, os.getenv() (0) | 2025.01.15 |