私は Python を扱うのが初めてで、プロジェクトのために Twitter のデータを MySQL データベースに収集しようとしています。このチュートリアルからデータを収集するためのスクリプトがあります。
import re
from re import sub
import time
import cookielib
from cookielib import CookieJar
import urllib2
from urllib2 import urlopen
import difflib
cj = CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
keyWord = 'nyc'
startingLink = 'https://twitter.com/search/realtime?q='
# begin loop
def main():
oldTwit = []
newTwit = []
while 1 < 2:
try:
sourceCode = opener.open ('https://twitter.com/search/realtime?q='+keyWord+'&src=hash').read()
splitSource = re.findall (r' <p class="js-tweet-text tweet-text">(.*?)</p>',sourceCode)
for item in splitSource:
#print item
print ''
print ''
print ' '
aTweet = re.sub(r'<.*?>', '',item)
print aTweet
newTwit.append(aTweet)
comparison = difflib.SequenceMatcher(None, newTwit, oldTwit)
howSim = comparison.ratio()
print '##############'
print howSim
oldTwit = [None]
for eachItem in newTwit:
oldTwit.append(eachItem)
newTwit = [None]
time.sleep(howSim*10)
except Exception, e:
print str(e)
print 'errored in the main try'
time.sleep(555)
main()
これにより、収集したいツイートが提供されます (このデータを分析するつもりはありません。Python を使用してデータベースに接続し、自動的にデータを収集する実験を行っています)。
また、MySQLdb を使用してデータベースを接続し、簡単な挿入ステートメントを使用してデータベースにコンテンツを追加できます。
import MySQLdb
db=MySQLdb.connect(host="127.0.0.1",user="root",passwd="",db="twitinfo")
cursor = db.cursor()
sql = "INSERT INTO tweets(text) VALUES ('?')"
cursor.execute(sql)
db.commit()
だから私の質問は、印刷物をinsertステートメントに「置き換える」方法と、値をツイートテキストにするには何を追加する必要があるかということです. 高低を検索しましたが、これについて役立つものは何も見つかりません。私も自分で試してみましたが、Python の初心者として、これの構文を推測しようとすることは、干し草の山から針を見つけるようなものです。