
Python으로 웹크롤링을 할 때
HTTP 전송을 위해 가장 많이 사용하는 모듈은 Requests일 것이고,
직접 브라우저를 컨트롤하기 위해 사용하는 모듈은 Selenium입니다.
Requests로 로그인하기 까다로운 사이트도 있기 때문에
다음과 같이 Selnium의 쿠키를 Requests로 보내는 방법으로
일단 Selenium으로 로그인한 후 Requests로 접근할 수 있습니다 ^^
(이 방법을 응용하면 클플을 우회할 수도 있는데 다음 기회에 설명 드리겠습니다.)
[code]
import requests from selenium import webdriverdriver = webdriver.Chrome() driver.get('URL') cookies = driver.get_cookies()s = requests.Session()for cookie in cookies:s.cookies.set(cookie['name'], cookie['value'])
[/code]
반대로 Requests의 쿠키를 Selenium으로 보낼 수도 있습니다.
Javscript 렌더링이 필요할 때 주로 이 방법을 사용하겠죠 ^^
(Selenium을 사용하지 않더라도 Requests_HTML 모듈 등을 이용하여 렌더링을 할 수도 있습니다.)
[code]
import requests
from selenium import webdriver
s.get('URL')
driver = webdriver.Firefox()
driver.get('URL') # 이 부분이 들어가지 않으면 cookie-averse 에러가 발생합니다.
for c in s.cookies:
driver.add_cookie({'name': c.name, 'value': c.value, 'path': c.path, 'expiry': c.expires})
driver.refresh()
[/code]
댓글 5개
@엑스엠엘 옙 브라우저 자체를 제어하는 것이기 때문에 사람이 브라우저로 할 수 있는 행위는 대부분 흉내낼 수 있다고 생각하시면 됩니다 ^-^
1. Selenium에 .drag()라는 메서드는 없지만, 당연히 text를 따올 수 있고, Drag & Drop도 할 수 있습니다.
2. Javascript 명령을 실행하는 .executeScript()도 있습니다 :)
제가 만든 허접한 소스인데 Selenium에서 Javascript로 이런 것도 가능합니다!! ㅎㄷㄷ
https://studyforus.com/share/584148
그럼 저녁식사 맛있게 드세요~!
1. Selenium에 .drag()라는 메서드는 없지만, 당연히 text를 따올 수 있고, Drag & Drop도 할 수 있습니다.
2. Javascript 명령을 실행하는 .executeScript()도 있습니다 :)
제가 만든 허접한 소스인데 Selenium에서 Javascript로 이런 것도 가능합니다!! ㅎㄷㄷ
https://studyforus.com/share/584148
그럼 저녁식사 맛있게 드세요~!
게시글 목록
| 번호 | 제목 |
|---|---|
| 17443 | |
| 17442 |
PHP
세션타임아웃기능
|
| 17441 | |
| 17440 | |
| 17438 |
PHP
완벽한 UTF8 지원하기
|
| 17436 | |
| 17435 | |
| 17433 | |
| 17432 | |
| 17430 |
JavaScript
자바스크립트로 ctrl+F기능과 유사한 웹페이지내 문자검색기능 작성
1
|
| 17426 | |
| 17416 | |
| 17413 | |
| 17401 | |
| 17391 | |
| 17379 | |
| 17375 | |
| 17374 | |
| 17362 | |
| 17350 |
JavaScript
지정한 범위내에서 랜덤으로 숫자출력하는 스크립트
3
|
| 17348 |
MySQL
배너 노출 관련 쿼리
4
|
| 17341 |
MySQL
이진 트리 순회... 무한 계층형 트리
2
|
| 17339 | |
| 17335 | |
| 17334 | |
| 17333 | |
| 17332 | |
| 17331 | |
| 17330 | |
| 17329 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기