반응형

안녕하세요, 츄르 사려고 코딩하는 집사! 코집사입니다.


파이썬 퍼머 링크 목록 추출하기


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 목록이 빠진 것을 볼 수 있다.

 

 

 

 

 

 

 

 

 

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기