חיים קלים ועוד יותר פשוטים רק תכירו את הנחש והציפור הצייצנית

  • פותח הנושא trew
  • פורסם בתאריך
  • הוסף לסימניות
  • #1
http://feedproxy.google.com/~r/newsgeekfeed/~3/c3sqe-dZiu8/
http://www.newsgeek.co.il/python-tw...utm_campaign=Feed:+newsgeekfeed+(‫Newsgeek‬)#
<div class="openx_banner"><script type="text/javascript" src="http://ads.newsgeek.co.il/www/delivery/fl.js"></script><script type="text/javascript"> OXM_ad = {"website":"649beb64-e19c-49d1-962c-3318b5a1c91c", "size":"468x60", "floor":"0.1", "channel":"oxpv1:20-26-42-1-11", "beacon":"<div id='beacon_2f2c97ddef' style='position: absolute; left: 0px; top: 0px; visibility: hidden;'>
lg.php
<\/div>", "fallback":"\n<div id='ox_17d8ebcb9047a30a15761f067074258a' style='display: inline;'><a href='http:\/\/ads.newsgeek.co.il\/www\/delivery\/ck.php?oaparams=2__bannerid=31__zoneid=11__cb=2f2c97ddef__oadest=http%3A%2F%2Fwww.rgc.co.il%2Fads%2Fhutz%2F0510%2F%3FToolId%3DV5WY63%26website%3DNewsgeek_arc' target='blank'>
29e965e0a7fddf23fd1ebe9b183338c2.jpg
<\/a><\/div>\n<script type='text\/javascript'><!--\/\/ <![CDATA[\n var ox_swf = new FlashObject('http:\/\/ads.newsgeek.co.il\/www\/images\/9ab8c9e0ef48e34a8e1b2ef9f26551dd.swf', 'מכללת רמת גן', '468', '60', '8');\n ox_swf.addVariable('clickTARGET', '_blank');\n ox_swf.addVariable('clickTAG', 'http%3A%2F%2Fads.newsgeek.co.il%2Fwww%2Fdelivery%2Fck.php%3Foaparams%3D2__bannerid%3D31__zoneid%3D11__cb%3D2f2c97ddef__oadest%3Dhttp%253A%252F%252Fwww.rgc.co.il%252Fads%252Fhutz%252F0510%252F%253FToolId%253DV5WY63%2526website%253DNewsgeek_arc');\n\n ox_swf.addParam('allowScriptAccess','always');\n ox_swf.write('ox_17d8ebcb9047a30a15761f067074258a');\n if (ox_swf.installedVer.versionIsValid(ox_swf.getAttribute('version'))) { document.write(\"<div id='beacon_2f2c97ddef' style='position: absolute; left: 0px; top: 0px; visibility: hidden;'>
lg.php
<\/div>\"); } else { document.write(\"<div id='beacon_2f2c97ddef' style='position: absolute; left: 0px; top: 0px; visibility: hidden;'>
lg.php
<\/div>\"); }\n\/\/ ]]> --><\/script><noscript>
lg.php
<\/div><\/noscript>"}; </script> <script type="text/javascript" src="http://bid.openx.net/jstag"></script> <noscript>
<script type='text/javascript'><!--// <![CDATA[ var ox_swf = new FlashObject('http://ads.newsgeek.co.il/www/images/9ab8c9e0ef48e34a8e1b2ef9f26551dd.swf', 'מכללת רמת גן', '468', '60', '8'); ox_swf.addVariable('clickTARGET', '_blank'); ox_swf.addVariable('clickTAG', 'http%3A%2F%2Fads.newsgeek.co.il%2Fwww%2Fdelivery%2Fck.php%3Foaparams%3D2__bannerid%3D31__zoneid%3D11__cb%3D2f2c97ddef__oadest%3Dhttp%253A%252F%252Fwww.rgc.co.il%252Fads%252Fhutz%252F0510%252F%253FToolId%253DV5WY63%2526website%253DNewsgeek_arc'); ox_swf.addParam('allowScriptAccess','always'); ox_swf.write('ox_17d8ebcb9047a30a15761f067074258a'); if (ox_swf.installedVer.versionIsValid(ox_swf.getAttribute('version'))) { document.write("
lg.php

"); } else { document.write("
lg.php

"); } // ]]> --></script><noscript>
lg.php

</noscript>
Twitter-Logo-300x244.png




טוויטר הפך לא מכבר לשירות פופולארי בקרב בלוגרים, פעילי מדיה ופשוטי העם גם יחד. פשטות הממשק ונוחיות העדכון מכל מקום מאפשרים לכל אחת לעדכן ולהתעדכן בחדשות ואירועים שונים. לפשטות זו יש מחיר, והוא המחסור בפיצ'רים שהיו יכולים לשפר את חוויות הציוץ שלנו. בפוסט זה אציג דוגמאות לשיפור חווית הטוויטר שלנו תוך שימוש בבוטים הכתובים בפייתון.
בחרתי להציג את הסקריפטים בפייתון מאחר ופייתון הוא שפה קלה ונוחה. גם מי שלא כתבה מימיה תוכנית פייתון לא תתקשה להבין את הדוגמאות ולהרחיב אותן למקרים המעניינים כל אחת ואחד. לפייתון יש ספריות הרחבה רבות המאפשרות גישה פשוטה לשירותי רשת שונים. בפוסט זה אשתמש בהרחבות שכאלה לצורך ההתקשרות עם טוויטר.
הכלים



הדוגמאות

אציג כאן שלוש דוגמאות לתוכניות פייתון המתממשקות עם טוויטר. הראשונה משתמשת בפיד של עוגיות מזל כדי לצייץ באופן אוטומטי משפטי חוכמה; השנייה תספר לנו מי היה העוקב שעזב והשלישית תמליץ על אנשים חדשים לעקוב אחריהם, בהתבסס על חברים משותפים. אל כל הדוגמאות פה כדאי להתייחס בתור בסיס, ולקחת ולהתאים כל אחת לצרכים של כל קורא וקוראת.
פוסט זה אינו מדריך לשפת פייתון, וגם אינו מתיימר להיות. אני מכוון לתת כאן רעיונות וחשק ללמוד למי שמכיר וגם למי שאינו מכיר. לאלו מהקוראים החדשים לשפה, בשביל להריץ את הדוגמאות יש להעתיק אותן כפי שהן לתוך קובץ (כולל הריווח המדויק – בפייתון יש חשיבות גם לאינדנטציה), ולשמור בסיומת py. לאחר מכן, ניתן להריץ על ידי הפעלת הפקודה הבאה מתוך ה command של חלונות (בהנחה שקראתם לקובץ script.py):
python.exe script.py
Screenshot_section1-300x187.png

הצייצן האוטומטי

המצייץ האוטומטי משתמש באתר http://wertarbyte.de/gigaset-rsss כדי לקבל רעיונות לציטוטים ברסס. כל פעם שנפעיל תוכנית זו, היא תקח משפט אקראי ותצייץ אותו לכל קוראינו. את תוכנית זו נוכל להפעיל כמשימה מתוזמנת על המחשב, וכך להמשיך לעדכן את הפיד גם כשאנחנו בטיול של שבועות הרחק מהמחשב.
תוכנית זו משתמשת בשני מודולים, האחד twitter, מספק את כל הממשק עם הטויטר שלנו. כאן אנחנו משתמשים רק בפונקציה של עדכון הפיד. המודול השני, feedparser מאפשר קריאה של שירותי RSS. אנו משתמשים בו כדי לקרוא את הרסס של הציטוטים. ניתן, כמובן, להחליף לכל רסס מעניין אחר (כמו Newsgeek).
כדי להפעיל את התוכנית, יש למלא את שם המשתמש והסיסמא במקומות המתאימים

קוד:
[LEFT]import twitter, feedparser
 	
 
 	
username = 'replace_this_with_your_twitter_username' 
 	
password = 'replace_this_with_your_twitter_password' 
 	
rss =  'http://wertarbyte.de/gigaset-rss/?offensive=1&limit=140&cookies=1&lang=en&format=rss&jar_id=47890485652059026823698344598447162001596396450349118' 
 	
 
 	
api = twitter.Api(username,password) 
 	
d = feedparser.parse(rss) 
 	
api.PostUpdate(d.entries[0].title)[/LEFT]
לעוקבשעזב: גם אני יודע מי אתה

שירותים כמו quitter אולי נראים לנו כמו קסם, אך למעשה הם מבוססים על רעיון מאוד פשוט – אם רק ארשום כמה עוקבים יש לי היום, אוכל להסתכל מחר ברשימה ולראות מי כבר לא שם. אז נכון, כולנו עושים זאת מדי פעם, אבל למה להתאמץ כשאפשר להפוך את התהליך כולו לאוטומטי לחלוטין? הסקריפט הבא ישמור (בתיקייה הנוכחית) בהפעלה הראשונה את רשימת העוקבים שלכם לקובץ. מכאן והלאה, כל פעם שנפעיל אותו באותה התיקייה הוא ישווה את המצב בפועל עם המצב השמור, יעדכן אתכם על נטישות ויעדכן את המצב השמור לפעם הבאה. קצר ועושה את העבודה.

קוד:
import twitter, os, pickle
 	
 
 	
username = 'replace_this_with_your_twitter_username'
 	
password = 'replace_this_with_your_twitter_password'
 	
 
 	
filename = 'followers.dat'
 
 	
api = twitter.Api(username, password)
 	
 
 	
# build a list of all current followers names
 	
current = [f.screen_name for f in api.GetFollowers()]
 	
 
 	
if os.path.isfile(filename):
 	
with open(filename) as f:
 	
prev = pickle.load(f)
 	
left = filter(lambda x:x not in current, prev)
 	
if left : print "The Followers Who Left: ", left
 	
with open(filename, 'w') as f:
 	
pickle.dump(current, f)
החברים החדשים

התוכנית האחרונה מיישמת רעיון להכרת חברים חדשים. אם הרבה מהאנשים שאני עוקב אחריהם עוקבים אחרי חבר נוסף (שאני לא עוקב אחריו), אולי כדאי לי לנסות לסמוך עליהם ולעקוב אחריו גם. פייסבוק כבר מזמן מציע לנו חברים חדשים באופן זה, ובעזרת פייתון נוכל ליישם את הרעיון גם על טוויטר. התוכנית תעבור על רשימת החברים של החברים שלנו באופן אוטומטי, ותדפיס את חמשת משתמשי הטוויטר הפופולריים ביותר בקרב נעקביי.

קוד:
[LEFT]import twitter
 
 	
username = 'replace_this_with_your_twitter_username'
 	
password = 'replace_this_with_your_twitter_password'
 	
api = twitter.Api(username, password)
 	
 
 	
friends = [f.screen_name for f in api.GetFriends()]
results = { }
 	
i=0
 	
for screen_name in friends:
 	
i = i + 1
 	
try:
 	
f2 = api.GetFriends(screen_name)
 	
except HTTPError:
 	
continue
 	
for g in f2:
 	
if g.screen_name in friends : continue
results[g.screen_name] = results.get(g.screen_name, 0) + 1
 	
 
 	
print i,"/",len(friends)
 	
 
 	
 
 	
for i in range(0,5):
 	
inv = dict(map(lambda item: (item[1],item[0]),results.items()))
 	
max_key = inv[max(inv.keys())]
 	
next = results.pop(max_key)
 	
print next,"=>",max_key[/LEFT]

לסיכום

ראינו שלוש תוכניות פייתון לשיפור חווית הטוויטר שלנו. בכולן לקחנו רעיון שהיה קשה או מסורבל לממש לבד, והשתמשנו בפייתון כדי לבצע אותו באופן מהיר ויעיל. זהו כמובן רק קצה הקרחון. כלים אוטומטיים כמו פייתון מספקים לנו את היכולת לקחת את הרעיונות הפשוטים שלנו, ומהר מאוד להרים מהם חוויה שעובדת.
לקריאה והרחבה נוספת על פייתון: http://docs.python.org/tutorial
 

פרוגבוט

תוכן שיווקי
פרסומת

פוסטים חדשים שאולי לא קראת....

הצטרפות לניוזלטר

איזה כיף שהצטרפתם לניוזלטר שלנו!

מעכשיו, תהיו הראשונים לקבל את כל העדכונים, החדשות, ההפתעות בלעדיות, והתכנים הכי חמים שלנו בפרוג!

לוח מודעות

הפרק היומי

הפרק היומי! כל ערב פרק תהילים חדש. הצטרפו אלינו לקריאת תהילים משותפת!


תהילים פרק כה

אלְדָוִד אֵלֶיךָ יי נַפְשִׁי אֶשָּׂא:באֱלֹהַי בְּךָ בָטַחְתִּי אַל אֵבוֹשָׁה אַל יַעַלְצוּ אֹיְבַי לִי:גגַּם כָּל קוֶֹיךָ לֹא יֵבֹשׁוּ יֵבֹשׁוּ הַבּוֹגְדִים רֵיקָם:דדְּרָכֶיךָ יי הוֹדִיעֵנִי אֹרְחוֹתֶיךָ לַמְּדֵנִי:ההַדְרִיכֵנִי בַאֲמִתֶּךָ וְלַמְּדֵנִי כִּי אַתָּה אֱלֹהֵי יִשְׁעִי אוֹתְךָ קִוִּיתִי כָּל הַיּוֹם:וזְכֹר רַחֲמֶיךָ יי וַחֲסָדֶיךָ כִּי מֵעוֹלָם הֵמָּה:זחַטֹּאות נְעוּרַי וּפְשָׁעַי אַל תִּזְכֹּר כְּחַסְדְּךָ זְכָר לִי אַתָּה לְמַעַן טוּבְךָ יי:חטוֹב וְיָשָׁר יי עַל כֵּן יוֹרֶה חַטָּאִים בַּדָּרֶךְ:טיַדְרֵךְ עֲנָוִים בַּמִּשְׁפָּט וִילַמֵּד עֲנָוִים דַּרְכּוֹ:יכָּל אָרְחוֹת יי חֶסֶד וֶאֱמֶת לְנֹצְרֵי בְרִיתוֹ וְעֵדֹתָיו:יאלְמַעַן שִׁמְךָ יי וְסָלַחְתָּ לַעֲוֹנִי כִּי רַב הוּא:יבמִי זֶה הָאִישׁ יְרֵא יי יוֹרֶנּוּ בְּדֶרֶךְ יִבְחָר:יגנַפְשׁוֹ בְּטוֹב תָּלִין וְזַרְעוֹ יִירַשׁ אָרֶץ:ידסוֹד יי לִירֵאָיו וּבְרִיתוֹ לְהוֹדִיעָם:טועֵינַי תָּמִיד אֶל יי כִּי הוּא יוֹצִיא מֵרֶשֶׁת רַגְלָי:טזפְּנֵה אֵלַי וְחָנֵּנִי כִּי יָחִיד וְעָנִי אָנִי:יזצָרוֹת לְבָבִי הִרְחִיבוּ מִמְּצוּקוֹתַי הוֹצִיאֵנִי:יחרְאֵה עָנְיִי וַעֲמָלִי וְשָׂא לְכָל חַטֹּאותָי:יטרְאֵה אוֹיְבַי כִּי רָבּוּ וְשִׂנְאַת חָמָס שְׂנֵאוּנִי:כשָׁמְרָה נַפְשִׁי וְהַצִּילֵנִי אַל אֵבוֹשׁ כִּי חָסִיתִי בָךְ:כאתֹּם וָיֹשֶׁר יִצְּרוּנִי כִּי קִוִּיתִיךָ:כבפְּדֵה אֱלֹהִים אֶת יִשְׂרָאֵל מִכֹּל צָרוֹתָיו:
נקרא  2  פעמים
למעלה