そのため、Apache サーバーで Python CGI スクリプトを実行しています。基本的に、ユーザーが Web ページからフォームに単語を入力すると、その単語がスクリプトに渡されます。次に、この単語を使用して Twitter Search API をクエリし、その単語のすべてのツイートを返します。問題は、このクエリをループで実行しているため、3 ページの結果が返されることです (約 300 ツイート)。しかし、私がスクリプト (すべてのツイートを HTML ページに出力するスクリプト) と呼んでいるものは、ページに 5 つのツイート、場合によっては 18 個の完全な乱数が表示されることがあります。これはタイムアウトの問題ですか、それともコードに基本的なものが欠けていますか? 以下に投稿されたPython CGIスクリプト、事前に感謝します。
#!/usr/bin/python
# Import modules for CGI handling
import cgi, cgitb
import urllib
import json
# Create instance of FieldStorage
form = cgi.FieldStorage()
# Get data from fields
topic = form.getvalue('topic')
results=[]
for x in range(1,3):
response = urllib.urlopen("http://search.twitter.com/search.json?q="+topic+"&rpp=100&include_entities=true&result_type=mixed&lang=en&page="+str(x))
pyresponse= json.load(response)
results= results + pyresponse["results"]
print "Content-type:text/html\r\n\r\n"
print "<!DOCTYPE html>"
print "<html>"
print "<html lang=\"en\">"
print "<head>"
print "<meta charset=\"utf-8\" />"
print "<meta name=\"description\" content=\"\"/>"
print "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"/>"
print "<title>Data analysis for %s </title>" %(topic)
print "</head>"
print "<body>"
print "<label>"
for i in range(len(results)):
print str(i)+": "+results[i]["text"]+ "<br></br>"
print "</label>"
print "</body>"
print "</html>"