
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
그럼 저녁식사 맛있게 드세요~!
게시글 목록
| 번호 | 제목 |
|---|---|
| 17191 | |
| 17162 | |
| 17160 | |
| 17158 | |
| 17156 | |
| 17155 | |
| 17153 | |
| 17151 | |
| 17145 | |
| 17135 |
Mobile
플러터와 네이티브 어플
2
|
| 17131 | |
| 17125 | |
| 17114 | |
| 17107 |
JavaScript
정규표현식 정리
2
|
| 17099 | |
| 17096 | |
| 17089 | |
| 17088 | |
| 17082 | |
| 17079 | |
| 17078 | |
| 17077 | |
| 17070 | |
| 17068 |
JavaScript
포인문으로 엘레먼트의 "속살" 보기
4
|
| 17067 | |
| 17063 | |
| 17060 | |
| 17048 | |
| 17045 | |
| 17044 |
PHP
알고있으면 좋은 코드
2
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기