· 5 years ago · Nov 21, 2019, 08:50 PM
1# views.py
2from django.http import JsonResponse
3from django.shortcuts import render
4from bs4 import BeautifulSoup as BS
5import json
6import requests
7import html5lib,time
8from selenium import webdriver
9from selenium.webdriver.common.by import By
10from selenium.common.exceptions import NoSuchElementException
11
12from django.utils.html import escape
13
14
15def JsonOB(request,email,passw):
16 try:
17 browser = webdriver.PhantomJS(executable_path='C:\\drivers\\phantomjs-2.1.1-windows\\bin\\phantomjs')
18 url = 'http://applecity.ge/login'
19 browser.get(url)
20 path = browser.find_element_by_xpath('//*[@id="userSigninLogin"]')
21 path.send_keys(email)
22 time.sleep(1)
23 path = browser.find_element_by_xpath('//*[@id="userSigninPassword"]')
24 path.send_keys(passw)
25 time.sleep(1)
26 path = browser.find_element_by_xpath('//button[@type="submit"]')
27 path.click()
28 time.sleep(1)
29 url = 'http://applecity.ge/profile'
30 browser.get(url)
31 newurl = browser.page_source
32 soup = BS(newurl,'lxml')
33 soup = soup.find_all('div', class_='form-group') or None
34 found = ''
35
36 for i in soup:
37 # found = i.find('input',id='accountName').get('value','')
38 if i.find('input').get('id','') == 'accountName':
39 found = i.find('input').get('value','')
40 data ={
41 'status': 200,
42 'message': found
43 }
44 browser.close()
45
46 return JsonResponse(data)
47
48 except:
49
50 return JsonResponse({
51 'status': 401,
52 'message': 'bad credentials'
53 })
54 raise
55
56
57# urls.py
58from django.contrib import admin
59from django.urls import path, include
60
61
62from .views import JsonOB
63
64urlpatterns = [
65
66 path('email=<email>&passw=<passw>', JsonOB),
67
68]
69#settings.py
70
71
72import os
73
74
75BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
76
77SECRET_KEY = 'nc0#+*9@#lt405_%ob^r_(#5qg9^_)$%-4f=hu9xh*q5#b%i^y'
78
79
80DEBUG = False
81
82ALLOWED_HOSTS = [u'vakho.pythonanywhere.com']
83
84
85# Application definition
86
87INSTALLED_APPS = [
88 'django.contrib.admin',
89 'django.contrib.auth',
90 'django.contrib.contenttypes',
91 'django.contrib.sessions',
92 'django.contrib.messages',
93 'django.contrib.staticfiles',
94]
95
96MIDDLEWARE = [
97 'django.middleware.security.SecurityMiddleware',
98 'django.contrib.sessions.middleware.SessionMiddleware',
99 'django.middleware.common.CommonMiddleware',
100 'django.middleware.csrf.CsrfViewMiddleware',
101 'django.contrib.auth.middleware.AuthenticationMiddleware',
102 'django.contrib.messages.middleware.MessageMiddleware',
103 'django.middleware.clickjacking.XFrameOptionsMiddleware',
104]
105
106ROOT_URLCONF = 'mysite.urls'
107
108TEMPLATES = [
109 {
110 'BACKEND': 'django.template.backends.django.DjangoTemplates',
111 'DIRS': [os.path.join(BASE_DIR, 'templates')],
112 'APP_DIRS': True,
113 'OPTIONS': {
114 'context_processors': [
115 'django.template.context_processors.debug',
116 'django.template.context_processors.request',
117 'django.contrib.auth.context_processors.auth',
118 'django.contrib.messages.context_processors.messages',
119 ],
120 },
121 },
122]
123
124WSGI_APPLICATION = 'mysite.wsgi.application'
125
126
127
128DATABASES = {
129 'default': {
130 'ENGINE': 'django.db.backends.sqlite3',
131 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
132 }
133}
134
135
136
137AUTH_PASSWORD_VALIDATORS = [
138 {
139 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
140 },
141 {
142 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
143 },
144 {
145 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
146 },
147 {
148 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
149 },
150]
151
152
153
154LANGUAGE_CODE = 'en-us'
155
156TIME_ZONE = 'UTC'
157
158USE_I18N = True
159
160USE_L10N = True
161
162USE_TZ = True
163
164
165
166STATIC_URL = '/static/'
167
168
169MEDIA_ROOT = u'/home/vakho/mysite/media'
170MEDIA_URL = '/media/'
171STATIC_ROOT = u'/home/vakho/mysite/static'
172STATIC_URL = '/static/'