728x90
반응형
🙆♂️ 코드 리뷰
from requests import get
from bs4 import BeautifulSoup
base_url="https://community.bu.ac.kr/info/1787/subview.do"
response = get(f"{base_url}")
if response.status_code != 200:
print("Can't")
else:
soup=BeautifulSoup(response.text,"html.parser")
print(soup.find_all('td',class_="_artclTdTitle"))
현재 이코드로 돌리면
정제되지 않은 불필요한 정보도 얻을 수 있습니다.
출력값이 list 형태인 것을 생각해보고 다시 코드를 작성하면
from requests import get
from bs4 import BeautifulSoup
base_url="https://community.bu.ac.kr/info/1787/subview.do"
response = get(f"{base_url}")
if response.status_code != 200:
print("Can't")
else:
soup=BeautifulSoup(response.text,"html.parser")
links = soup.find_all('td',class_="_artclTdTitle")
for link in links:
print(link.find_all('a'))
우리가 필요한 a태그만 뽑아먹을 수 있습니다.
이 a태그 안에 글 제목과 링크 등의 정보가 담겨있어서 아주 잘 사용할 것 같습니다.
자 그러면 이제 이 a태그에서 링크만 발라먹도록 하겠습니다.
from requests import get
from bs4 import BeautifulSoup
base_url="https://community.bu.ac.kr/info/1787/subview.do"
response = get(f"{base_url}")
if response.status_code != 200:
print("Can't")
else:
soup=BeautifulSoup(response.text,"html.parser")
tds = soup.find_all('td',class_="_artclTdTitle")
for td in tds:
anchors = td.find_all('a')
for anchor in anchors:
print(anchor['href'])
변수명도 살짝 바꿔주고 코드를 추가했습니다.
td.find_all을 a태그로 한 값을 anchors에 저장합니다.
anchors는 이런 타입이라고 하네요.
그래서 여차저차 해가지구 for문 돌리면서 anchor['href']로 확인하면 href속성 값을 볼 수 있나봅니다!
그렇게 이런 주소들을 얻게 됐고 이 주소로만은 이동할 수 없으니 포맷해서 다시 표현하면
from requests import get
from bs4 import BeautifulSoup
base_url="https://community.bu.ac.kr/info/1787/subview.do"
response = get(f"{base_url}")
if response.status_code != 200:
print("Can't")
else:
soup=BeautifulSoup(response.text,"html.parser")
tds = soup.find_all('td',class_="_artclTdTitle")
for td in tds:
anchors = td.find_all('a')
for anchor in anchors:
link = f"https://community.bu.ac.kr{anchor['href']}"
print(link)
아주 잘되는 모습!!!
728x90
반응형
'웹 개발 > 크롤링' 카테고리의 다른 글
[웹크롤링] post방식 requset 웹 크롤링하기 (1) | 2022.09.30 |
---|---|
[웹크롤링] 03. beautifulsoup4 (0) | 2022.09.17 |
[웹크롤링] 02. requests 라이브러리 (0) | 2022.09.15 |
[웹크롤링] 01. URL 포맷하기 (0) | 2022.09.15 |