최근에 또 허리를 다쳐서 계속 누워만있다가
추석 연휴인 오늘 옆에 소주한병 놓고 시작해보려고 한다.
오늘의 목표는
인스타그램 계정의 첫 페이지 사진 전부를 로컬 폴더로 크롤링 해오는 것이다.
한 3일간 서칭해봤지만 정확히 이 기능을 하는 스크립트는 없는것 같아서
여기저기서 코드를 끌어와야 할 것 같다.
- 로그인
일단 로그인부터 쉽지가 않은데
인스타그램 계정이 아니라 페이스북으로 로그인을 해보려고 한다.
22.09.09 9:30pm 시작
페이스북 로그인을 하려고
https://github.com/SOMJANG/Instagram_Crawler/blob/main/instagram_crawler/utils.py
이분 깃허브를 참고해서 코드를 짜보는데
라이브러리가 업데이트되서그런가 안되는게 많아서
아래 블로그들을 통해서 코드를 수정했다.
셀레니움 라이브러리가 업데이트되면서 사용 방법이 좀 바뀐것 같다
크롬드라이브 패스 설정도 오류가 떠서 바꿔줬다
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
from selenium import webdriver as wd
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from webdriver_manager.chrome import ChromeDriverManager
import time
import re
user_id="ㅇㄹㅇㄹㅇ"
user_passwd="ㄴㅇㄴㅇㄴㅇ"
driver_path="D:\\DEV\\fansieve-background_maker\\web-fansieve-backgroundmaker\\chromedriver.exe"
instagram_id_name="username"
instagram_pw_name="password"
instagram_login_btn=".sqdOP.L3NKy.y3zKF "
facebook_login_page_css=".sqdOP.L3NKy.y3zKF "
facebook_login_page_css2=".sqdOP.yWX7d.y3zKF "
facebook_id_form_name="email"
facebook_pw_form_name="pass"
facebook_login_btn_name="login"
login_option="facebook" # facebook or instagram
print(f"login start - option {login_option}")
login_url = "https://www.instagram.com/accounts/login/"
driver = wd.Chrome(service=Service(ChromeDriverManager().install()))
driver.get(login_url)
time.sleep(10)
#login
def pagelogin(driver, user_id, user_passwd, login_option) :
is_login_success=False
if login_option == "facebook":
is_facebook_btn_click = False
try:
print("try click facebook login button 1")
facebook_login_btn = driver.find_element(By.CSS_SELECTOR, facebook_login_page_css)
time.sleep(5)
facebook_login_btn.click()
is_facebook_btn_click = True
is_login_success = True
except:
print("click facebook login button 1 fail")
is_facebook_btn_click = False
is_login_success = False
time.sleep(10)
if not is_facebook_btn_click:
try:
print("try click facebook login button 2")
facebook_login_btn = driver.find_element(By.CSS_SELECTOR, facebook_login_page_css2)
time.sleep(5)
facebook_login_btn.click()
is_facebook_btn_click = True
print("facebook login btn clicked")
is_login_success = True
except:
print("click facebook login button 2 fail")
is_login_success = False
time.sleep(10)
if is_facebook_btn_click:
id_input_form = driver.find_element(By.NAME, facebook_id_form_name)
time.sleep(5)
id_input_form.send_keys(user_id)
time.sleep(7)
pw_input_form = driver.find_element(By.NAME, facebook_pw_form_name)
time.sleep(5)
pw_input_form.send_keys(user_passwd)
time.sleep(7)
login_btn = driver.find_element(By.NAME, facebook_login_btn_name)
time.sleep(5)
login_btn.click()
print("login success")
time.sleep(10)
#일단 로그인만
pagelogin(driver, user_id, user_passwd, login_option)
|
cs |
현재시간 22.09.10 am 1:23 ㅅㅂ ㅋㅋ
이거하려고 4시간을 태웠네 아
4시간이면 마크 주커버그가 하버드 db 해킹해서 페이스메쉬 만들 시간인데
ㅈ같네 진짜 ㅋㅋ
'Archive > [Infra+Web] fanpage:BLACKPINKINYOURAREA' 카테고리의 다른 글
[Web]Fanseive_backgroundmaker-5-인스타그램계정_이미지크롤링1 (0) | 2022.09.14 |
---|---|
[Web]Fanseive_backgroundmaker-4-팝업해제+계정검색 (0) | 2022.09.10 |
[Web]Fanseive_backgroundmaker-2-크롤링 알아보기 (0) | 2022.09.02 |
[Web]Fanseive_backgroundmaker-1-반응형웹+인스타사진크롤링 (0) | 2022.08.30 |
[Web] 조코딩+해커톤 - 프로젝트 계획 (0) | 2022.08.30 |