Toggle navigation
Toggle navigation
This project
Loading...
Sign in
최원석
/
2021-1-database-project
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
1seok2
2021-03-07 19:04:48 +0900
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
9d27fb9878c6f542bf062bdd678a6894f8ce186c
9d27fb98
1 parent
78e9c3f8
add login, select followers
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
59 additions
and
13 deletions
.gitignore
.idea/check-your-instagram.iml
.idea/misc.xml
config/URLs.py
crawler/__init__.py
crawler/crawler_instagram.py
server.py
.gitignore
View file @
9d27fb9
...
...
@@ -4,3 +4,7 @@ node_modules
chromedriver
key.py
admin.py
venv
venv3
\ No newline at end of file
...
...
.idea/check-your-instagram.iml
View file @
9d27fb9
...
...
@@ -7,8 +7,11 @@
</component>
<component
name=
"NewModuleRootManager"
inherit-compiler-output=
"true"
>
<exclude-output
/>
<content
url=
"file://$MODULE_DIR$"
/>
<orderEntry
type=
"inheritedJdk"
/>
<content
url=
"file://$MODULE_DIR$"
>
<excludeFolder
url=
"file://$MODULE_DIR$/venv"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/venv3"
/>
</content>
<orderEntry
type=
"jdk"
jdkName=
"Python 3.8 (venv3)"
jdkType=
"Python SDK"
/>
<orderEntry
type=
"sourceFolder"
forTests=
"false"
/>
</component>
</module>
\ No newline at end of file
...
...
.idea/misc.xml
View file @
9d27fb9
<?xml version="1.0" encoding="UTF-8"?>
<project
version=
"4"
>
<component
name=
"ProjectRootManager"
version=
"2"
languageLevel=
"JDK_11"
project-jdk-name=
"11"
project-jdk-type=
"JavaSDK"
>
<output
url=
"file://$PROJECT_DIR$/out"
/>
</component>
<component
name=
"ProjectRootManager"
version=
"2"
project-jdk-name=
"Python 3.8 (venv3)"
project-jdk-type=
"Python SDK"
/>
</project>
\ No newline at end of file
...
...
config/URLs.py
0 → 100644
View file @
9d27fb9
INSTAGRAM_URL
=
"https://instagram.com"
\ No newline at end of file
crawler/__init__.py
0 → 100644
View file @
9d27fb9
File mode changed
crawler/crawler_instagram.py
View file @
9d27fb9
import
time
import
selenium
from
selenium
import
webdriver
from
selenium.webdriver.common.keys
import
Keys
from
config.admin
import
ID
,
PW
from
config.URLs
import
INSTAGRAM_URL
BASE_URL
=
"https://instagram.com"
def
login
(
driver
):
elem
=
driver
.
find_elements_by_css_selector
(
'._9GP1n .f0n8F ._2hvTZ'
)
elem
[
0
]
.
send_keys
(
ID
)
elem
[
1
]
.
send_keys
(
PW
)
elem
[
1
]
.
send_keys
(
Keys
.
RETURN
)
time
.
sleep
(
1
)
def
get_list
(
insta_id
,
driver
):
navigations
=
driver
.
find_elements_by_class_name
(
'-nal3'
)
navigations
[
1
]
.
click
()
def
crawler_instagram
(
insta_id
):
driver
=
webdriver
.
Chrome
(
executable_path
=
'./chromedriver'
)
driver
.
get
(
url
=
INSTAGRAM_URL
)
time
.
sleep
(
4
)
login
(
driver
)
time
.
sleep
(
5
)
url
=
"
%
s/
%
s"
%
(
INSTAGRAM_URL
,
insta_id
)
driver
.
get
(
url
=
url
)
time
.
sleep
(
2
)
try
:
isPrivate
=
driver
.
find_element_by_class_name
(
'rkEop'
)
.
text
except
Exception
as
e
:
isPrivate
=
""
pass
# 비공개 계정인 경우
if
isPrivate
:
print
(
'private!!'
)
# 공개 계정인 경우
else
:
nav
=
get_list
(
insta_id
,
driver
)
time
.
sleep
(
2
)
URL
=
"
%
s/
%
s"
%
(
BASE_URL
,
insta_id
)
driver
.
get
(
url
=
URL
)
sleep
(
10
)
# driver.close(
)
driver
.
close
()
return
nav
if
__name__
==
"__main__"
:
...
...
server.py
View file @
9d27fb9
import
os
from
config.firebase
import
db
from
flask
import
Flask
,
render_template
,
request
from
config.firebase
import
db
from
crawler.crawler_instagram
import
crawler_instagram
# data = {
# "age": 24,
# "name": "choi",
...
...
@@ -25,8 +27,9 @@ def home():
@app.route
(
"/check"
,
methods
=
[
"POST"
])
def
check
():
value
=
request
.
form
[
'insta_id'
]
return
value
insta_id
=
request
.
form
[
'insta_id'
]
crawler_instagram
(
insta_id
)
if
__name__
==
"__main__"
:
...
...
Please
register
or
login
to post a comment