*ãã¡ãããçŽç²ã«æ©æ¢°åŠç¿ãåŠã¶ããã§ãã æãã劻ã®å°ãäžæºããªèŠç·ã®äžã§ã
ãããããTinder ã»ã©èé«åå°ã¬ãã«ã§ã·ã³ãã«ãªã¢ããªã±ãŒã·ã§ã³ã¯ãããŸããã ããã䜿çšããã«ã¯ãXNUMX æ¬ã®æã§ã¹ã¯ã€ãããã ãã§ãããã€ãã®ãã¥ãŒãã³ã䜿çšããŠãæã奜ã¿ã®å¥³æ§ãŸãã¯ç·æ§ãéžæã§ããŸãã ãã¢éžæã«ããããã«ãŒããã©ãŒã¹ã®çæ³çãªå®è£ ã
ããã¯ãæ°ããã°ã©ãã£ãã¯ã¹ ã«ãŒãã§ã®æ©æ¢°åŠç¿ã®æ觊ãå°ãåŸãã®ã«è¯ãæ¹æ³ã ãšå€æããŸããã æ®ã£ãŠããã®ã¯ã劻ã«ãæ°ãã«å€ªã£ã女æ§ã¯å¿ èŠãªããç§ã¯ãã¥ãŒã©ã«ãããã¯ãŒã¯ãèšç·ŽããŠããã ãã ãšããããšã説æããããšã ãã§ãã
åºäŒãç³»ãããã¯ãŒã¯ã®åé¡ç¹ã¯äœã§ãã?
ãã®ãããªãªãœãŒã¹ããããŸãã - ã¢ã·ã¥ãªãŒã»ããã£ãœã³ã å ·äœçã«ã¯ãã人çã¯çãã äžå«ããŠããã äž»ãªèŠèŽè ã¯ãå¯æ¥ãæ¢ããŠããæ¢å©ç·æ§ã§ãã åçåã楜ããã§ããæšæºçãªãããããæžã蟌ã¿ã«ãã€ã³ãã䜿ããããšã«å ããŠããŠãŒã¶ãŒã®ã¢ã«ãŠã³ããçè·¡ãªãåé€ããã«ã¯ 19 ãã«ãèŠæ±ããŸããã
2015 幎ã«ãã®ãµã€ãã¯èªç¶ã«æŒæŽ©ãã60 GB ã®å人ããŒã¿ããããªã㯠ãã¡ã€ã³ã«æŒæŽ©ããŸããã å€ãã®å®¶æãç Žå£ãããããšã«å ããŠããã®ãªãŒã¯ã¯ã¢ããªã¹ãã«å€ãã®èå³æ·±ãæ
å ±ãæäŸããŸããã åºäŒãç³»ãµã€ãã«ã¯ãã£ãšå€ãã®ç·æ§ãããã®ã§ã¯ãªãããšãã€ãæã£ãŠããŸããããä»åã®ã±ãŒã¹ã§ã¯éåžžã«èå³æ·±ãããšãåãããŸããã ãžã£ãŒããªã¹ã ã¢ããªãŒã»ãã¥ãŒãŠã£ãã
ç·æ§ã¢ã«ãŠã³ãã«å¯Ÿãããã®ãããªåªäœæ§ã¯ããã®ãªãœãŒã¹ã ãã§ãªããä»ã®ã»ãšãã©ã®åºäŒãç³»ãµã€ãã§ãå žåçã§ãã ç¥ãåããäœãããã«æ éã«èšç»ããªããã°ãªããªãã®ã«ã女ã®åã¯ç»é²ããã ãã§ãããšããããã®ééããªãäžå ¬å¹³ãªç¶æ³ã«ééããããšããã人ã¯å€ããšæããŸãã ãã®çŸ€è¡ã®ãã¡ã³ã®è³ªã¯ããŠãããéèŠãšäŸçµŠã®ãã©ã³ã¹ãæããã«åœŒå¥³ãã¡ã«æå©ã«ã·ããããŠãããšããäºå®ã¯åŠå®ã§ããŸããã
ç«å£æ©èœ
ç·å¥³é¢ä¿ã«ãããçæ³çãªæŽåè
ãã®ãã©ãããã©ãŒã ã®äž»ãªç¹åŸŽã¯ãç¥äººãããã®ã³ã¹ããäœãããšã§ãã XNUMX åã®ã¹ã¯ã€ããå¶ç¶çºçããã ãã§ååã§ãããªãã¯ãã§ã«æœåšçã«èå³æ·±ãçžæãšã³ãã¥ãã±ãŒã·ã§ã³ãåã£ãŠããããšã«ãªããŸãã åé¡ã¯ãåæ§éã®äžåè¡¡ã«ãããã»ãšãã©ã®å¥³ã®åã XNUMX æ¥ã«æ°ååãè©Šåãããããšã«ãªããšããããšã§ãã ããã¯ã圌ããä»ã®åè£è ã®äžã§ããªãã«æ³šæãæãæéããªãå¯èœæ§ãé«ãããšãæå³ããŸãã
ãã®ãã©ãããã©ãŒã ããæ°Žçã®åçããã¡ãã·ã§ããã«ãªè²ã®ã€ããè»ã®é転ã XNUMX ç§åèŠãã ãã§ã人ã®æ·±ãå
é¢ã®äžçãè©äŸ¡ããæ©äŒãã»ãšãã©ãªãããšã¯æããã§ãã ãããã£ãŠãåçã§åçŽã«ç¥ã£ãœãèŠããªãå Žåã¯ã次ã®ããšãæ¡çšããŠãã£ã³ã¹ãå¢ãããããããŸããã
ããŒã¿ã®åé
ãŸããéåžžã®ç²ŸåºŠãåŸãã«ã¯å€§éã®ããŒã¿ãå¿ èŠã§ãã æ©æ¢°åŠç¿ã«ééããããšããã人ãªã誰ã§ããæ£ããåéããã©ãã«ä»ããããããŒã¿ã»ãããçæããããšãããã«é£ããããç¥ã£ãŠããã§ãããã çè«çã«ã¯ãInstagram ããã®ä»ã®ãœãŒã·ã£ã« ãããã¯ãŒã¯ãªã©ãåæ§ã®ãªãœãŒã¹ã§ããã°ããŒã¿ ãœãŒã¹ãšããŠé©ããŠããŸãã ãã ãããããã¯ãŒã¯ãå°æ¥æ©èœãããµã³ãã«ã§ãã¬ãŒãã³ã°ããããšãæåã§ãã
ãªããžããªãããŒã¹ã«ããŠã¿ãŸããã
from skimage.io import imread, imsave, imshow, show
import matplotlib.pyplot as plt
import pynder
from helpers import get_access_token, get_login_credentials
from io_helper import save_image
email, password, FBID = get_login_credentials()
FBTOKEN = get_access_token(email, password)
session = pynder.Session(facebook_token=FBTOKEN)
while True:
users = session.nearby_users()
for user in users:
photos = user.get_photos()
print("Fetched user photos..")
for photo in photos:
print(photo)
image = imread(photo)
imshow(image)
show()
input_string = "Write 1 to like. Write 2 to dislike."
ans = str(input(input_string)).lower()
if ans == "1":
save_image(image, photo, True)
else:
save_image(image, photo, False)
XNUMX ã€ã®ãã¿ã³ã ãã§ã§ããã ãæ©ãããŒã¿ã»ãããããŒã¯ã¢ããã§ããŸãã éèŠãªèœãšãç©Žã¯ãwerkzeug ã©ã€ãã©ãªãäžäœäºææ§ã倱ã£ãŠããã匷å¶çã«ããŠã³ã°ã¬ãŒãããªããã°ãªããªããšããäºå®ã«ãããŸãã ãã以å€ã®å Žåã¯ããã®ãšã©ãŒãã¹ããŒãããŸãã
Traceback (most recent call last):
File "img_scrape.py", line 4, in <module>
from helpers import get_access_token, get_login_credentials
File "/home/someone/tmp/TinderAutomation/helpers.py", line 1, in <module>
import robobrowser
File "/home/someone/tmp/TinderAutomation/venv/lib/python3.6/site-packages/robobrowser/__init__.py", line 3, in <module>
from .browser import RoboBrowser
File "/home/someone/tmp/TinderAutomation/venv/lib/python3.6/site-packages/robobrowser/browser.py", line 8, in <module>
from werkzeug import cached_property
ImportError: cannot import name 'cached_property'
ãããã£ãŠãrequirements.txt ã« Werkzeug==0.16.1 ãšèšè¿°ããå¿
èŠããããŸãã ããããã°é¢éžããŸãã
XNUMX çªç®ã®åé¡ã¯ããã®ããŒã¯ã³ãååŸããããšã§ãã ãªããžããªããã®æšæºçãªæ¹æ³ã¯ç§ã«ãšã£ãŠã¯ããŸããããŸããã§ããããéçºè
ã³ã³ãœãŒã«ããã¯ãªããšãååŸã§ããŸããã ãããè¡ãã«ã¯ã次ã®å Žæã«ç§»åããŸã
ããŒã¿ã»ããã®èŠä»¶
æ©æ¢°åŠç¿ããŒã¿ã»ããã«ã¯ããã€ãã®éèŠãªèŠä»¶ããããŸãã
- 劥åœæ§
- åäž
- å€æ§æ§
ãã®å Žåãé©åãªã¢ãã«ãæ§ç¯ããã«ã¯å°ãªããšã 10000 æã®åçãå¿
èŠã§ãã ã¯ããããã¯ãããããããŸãã å®éãããã次ã®ãããªãµãŒãã¹ã®çç±ã§ã
å€æ§æ§ã«ç¹ã«åé¡ã¯ãªãããã¹ãŠã®åçãããŸããŸãªè§åºŠãç §æããæ瀺ãããŠããŸãã ã¡ã¬ãããã¬ã¹ãæ°Žçãã¹ããŒã¹ãŒãã§ã ããŒã¿ã»ããã®åäžæ§ã«åé¡ãçºçããå¯èœæ§ããããŸãã çæ³çã«ã¯ããµã³ãã«ã«ã©ãã«ãä»ãããšãã¯ãã»ãŒåãéšåããæ§æãããŠããå¿ èŠããããŸãã ããŒã¿ã»ããããæªãã ãçµæã«ãªã£ãå Žåã¯ãä»ã®ãœãŒã¹ããã®åçã䜿çšããŠããŒã¿ã»ãããèããå¿ èŠããããŸãã ããé åçãªãã®ãè¿œå ããå¿ èŠããããŸããéã«ãããŒã¯ã¢ããã®çµæã«åºã¥ããŠãããã決å®ããŸãã 60ïŒ ãããã®ããããªãã®ãã§ããŸããã ç§ã¯ããŸã奜ãå«ãããªããããããšããã 幞éã§åšãã«ãããã女ã®åããããããããã®ã©ã¡ããã§ãã
ãŸãããã®äžã«ã¯ããããå€æ°ååšãããšãã仮説ãç¡èŠããŸããã ä»ã®ãããã奜ããããããã¬ãŒãã³ã°ããŸãã ããã«ã¯ç®èã蟌ããããŠããŸãã
ããŒã¿åŠç
ã¿ã°ä»ããããåçã¯ãããããããŸããããããã¯éåžžã«è€éã§ãã æŒãå€ãåŸããããªã©ã æ®å¿µãªããããµã³ãã«ã®å¹åžãéåžžã«å€§ãããããéè§åºŠããã®åçããã®æå°ã¯ããŸãå¹æçã§ã¯ãªãããšã¯ç解ããŠããŸãã ãããã£ãŠãããããããã®åºæºãšããŠé¡ã䜿çšããã®ãæåã®éžæè¢ã§ãã ããã§ããä»ã®éé·é¡ãšåæ§ã«ãç§ãã¡ã«ãšã£ãŠãããã¯éèŠãªãã©ã¡ãŒã¿ãŒã§ãã
ãããã£ãŠã䜿çšããŸããã
ããã«ã€ããŠã¯ããã¥ã¢ã«ã«è©³ãã説æãããŠããŸã
次ã®æ®µéã§ã¯ããµã³ãã«ã«é¡ã ããå«ãŸããããè²ãåé€ããã®ãåççã§ãã å®éããã³ãã©ã®çŸããéãäœäººããç·ã®èã®çŸããã®ã©ã¡ãããéžã¶å¿ èŠã¯ã»ãšãã©ãããŸããã
è²çžã®äººã
ã§ã¯ãèã®è²ã¯é
åã®è©äŸ¡ã«å€§ããå¯äžããŸããã
ãããã£ãŠããã¥ãŒã©ã«ãããã¯ãŒã¯ã®äœæ¥ãç°¡çŽ åããã°ã¬ãŒã¹ã±ãŒã«ã®ã¿ãæ®ã䟡å€ããããŸãã
ã¢ãã«æ§ç¯
ããã«èšãããã®ã¯ãåªãããã㪠ã«ãŒããš CUDA ããªããã°ãååãªæéå ã«ãã¬ãŒãã³ã°ãããã¢ãã«ãååŸã§ããªãå¯èœæ§ãé«ããšããããšã§ãã ãããã£ãŠãããã«ç¹åããã¯ã©ãŠããŸã㯠python-CUDA ã䜿çšããèšç®ãç®æããŸãã
ãªããžããªã®äœæè ããåºæ¬ç㪠72 å±€ã®äŸãåãäžããŸããããé©ãã¹ãããšã«ããã®ç²ŸåºŠã¯çŽ XNUMX% ã§ãããéåžžã«è¯å¥œãªçµæã§ããã
model = Sequential()
model.add(Convolution2D(32, 3, 3, activation='relu', input_shape=(img_size, img_size, 3)))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Convolution2D(32, 3, 3, activation='relu'))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Convolution2D(64, 3, 3, activation='relu'))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Flatten())
model.add(Dense(128, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(2, activation='softmax'))
adam = optimizers.SGD(lr=1e-4, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='categorical_crossentropy',
optimizer= adam,
metrics=['accuracy'])
é©åãªãµã³ãã«ãããã°ãå®è¡å¯èœãªã¢ãã«ãååŸããã®ã«ååã§ããå¯èœæ§ããããŸãã
ããããèµ·åããŸããã
ã¢ã€ãã¢ãè¿
éã«ãã¹ãããããã®æ¢è£œã®ãªãã·ã§ã³ãæäŸããŠããããªããžããªã®äœæè
ã«æè¬ããŸãã å®éãåºæ¬ããŒãžã§ã³ã§ã¯éåžžã«ããŸãæ©èœããååãšããŠãç§ãã¡ã®ããŒãžã§ã³ã§èµ·åã§ããŸãã
çµæ
ç§ã¯ãšãŠããããããšæããŸãã ãããŠç§ã¯è±ããªå
ãªãäžçãæã£ãŠããŸãã 13æé以å
ã«XNUMX件ã»ã©ãããããŸããã ããã«ã女ã®åãæåã«æžããããšãäœåºŠããããŸããã
ãã®çµæãç§ãã¡ã¯æ©æ¢°åŠç¿ãšããŒã¿ã®ã©ãã«ä»ããè¡ãããã ãã«æ¥ããšè¿°ã¹ããéåžžã«çŽ æŽããã察話ã«ãªããŸããã 女ã®åã® XNUMX 人ã¯ã圌女èªèº«ãéçºè
ã§ãããããéåžžã«èå³ãæã£ãŠããŸããã 圌女ã¯æçµçã«ããã¬ã«é¢ãããã®æçš¿ãèªãã ãããšãã匷ãäºæããããŸãã ãªã¯ãµããç§ã®å¿åæ§ãç¶æããŠãããããšãå¿ããé¡ã£ãŠããŸãã ð
*æãæ¯ã£ãŠæšæ¶ãã
ãã®åé¡ã®å«ççåŽé¢ã«ã€ããŠå°ã
æ£çŽã«èšããšãç§ã¯ç·æ§ãšå¥³æ§ã®é¢ä¿ãããããåãããšããã¢ã€ãã¢èªäœã奜ãã§ã¯ãããŸããã äžäººã§ç«ã£ãŠããå·ããèŠç¥ãã¬äººã®è©ã«ãžã£ã±ãããæããããšã¯ãéåžžã«æ£ããããšã§ãã ãŸãã¯ãå€ã®ã«ãã§ã§ãããã女ã®åã«è¿ã¥ããäžç·ã«ã³ãŒããŒã飲ã¿ãŸãã ããã¢ãã¿ãŒã®åŸãããåºãŠãã ããã
ãããã¯å€ã§ãã ç¥ãåãã«ãªãææãæ¥ãŸããã
åºæïŒ habr.com