반응형
파이썬 퍼머 링크 목록 추출하기
1. 목록 추출 단계
1) Requests로 웹페이지 추출
2) lxml로 웹 페이지 스크래핑
3) sqlite3 DB에 데이터 저장
import requests
import lxml.html
response = requests.get('https://www.hanbit.co.kr/store/books/new_book_list.html')
root = lxml.html.fromstring(response.content)
for a in root.cssselect('.view_box a') : print(a.get('href'))
위의 코드를 실행하면 javascript 목록까지 포함되어 추출이 된다.
그렇기에, javascript로 시작하는 목록을 제거해야 정확한 링크 목록을 추출할 수 있다.
그래서 상대 URL을 절대 URL로 변환한다.
import requests
import lxml.html
response = requests.get('https://www.hanbit.co.kr/store/books/new_book_list.html')
root = lxml.html.fromstring(response.content)
# 모든 링크를 절대 URL로 변환
root.make_links_absolute(response.url)
# 목록에서 javascript 제거
i = 1
for a in root.cssselect('.view_box .book_tit a') :
print(i, a.get('href'))
i+=1
위의 코드를 실행하면 javascript 목록이 빠진 것을 볼 수 있다.
반응형
'Language > Python' 카테고리의 다른 글
파이썬 데이터프레임 결합하기(concat) (0) | 2020.09.10 |
---|---|
파이썬 folium 라이브러리 예제 (0) | 2020.09.10 |
파이썬 셀레늄(Selenium)을 이용한 크롤링하기 (0) | 2020.09.02 |
파이썬 다음 뉴스 웹 크롤링하기 (0) | 2020.09.02 |
파이썬 SQLite3 DBMS로 저장하기 (0) | 2020.09.01 |
파이썬 XML을 이용하여 기상청 데이터 스크래핑하기 (0) | 2020.09.01 |
파이썬 정규 표현식을 사용하기 위한 re 모듈 (0) | 2020.09.01 |
파이썬 웹 페이지에서 데이터 추출하기 (0) | 2020.09.01 |
최근댓글