Học BigData (BD) – Ngày 8

CSV File Reading and Writing


import csv
def write_csv(books):
	with open('books.csv', 'w') as csvfile:
		fieldnames = ['title', 'author', 'isbn_link', 'date']
		writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
		writer.writeheader()
		for book in books:
			title = book["title"].strip(' \t\n\r')
			author = book["author"].strip(' \t\n\r')
			isbn_link = book["isbn_link"].strip(' \t\n\r')
			tmp_date = book["date"].strip(' \t\n\r').split()
			array_date = tmp_date[2:]
			date = '-'.join(array_date).replace(',','')
			writer.writerow({'title': title, 'author': author, 'isbn_link': isbn_link, 'date': date})

import csv
def read_csv():
	with open('books.csv') as csvfile:
		reader = csv.DictReader(csvfile)
		for row in reader:
			print(row['title'], row['author'], row['isbn_link'], row['date'])

Thu tập dữ liệu Twitter

Tạo file get_twitter_data.py

pip install oauth2


import oauth2 as oauth
import urllib.request as urllib
 
api_key = "iMLwnlozahugRqeeWJsQ6tnGr"
api_secret = "CHd7S38mktASvqwAnqb6vj10NUQ6ao9DkmfJT6GUkJ4EXpKjFd"
access_token_key = "884616264584495104-zSR29MdOFC2eJEfQlOI5tVI1xyFWesV"
access_token_secret = "ihDwrxdsA12OP9RkwS1rBnVdX43agur93Yw0Sbg8fB0Sk"
 
_debug = 0
 
oauth_token    = oauth.Token(key=access_token_key, secret=access_token_secret)
oauth_consumer = oauth.Consumer(key=api_key, secret=api_secret)
 
signature_method_hmac_sha1 = oauth.SignatureMethod_HMAC_SHA1()
 
http_method = "GET"
 
http_handler  = urllib.HTTPHandler(debuglevel=_debug)
https_handler = urllib.HTTPSHandler(debuglevel=_debug)
def twitterreq(url, method, parameters):
  req = oauth.Request.from_consumer_and_token(oauth_consumer,
                                             token=oauth_token,
                                             http_method=http_method,
                                             http_url=url,
                                             parameters=parameters)
  req.sign_request(signature_method_hmac_sha1, oauth_consumer, oauth_token)
 
  headers = req.to_header()
 
  if http_method == "POST":
    encoded_post_data = req.to_postdata()
  else:
    encoded_post_data = None
    url = req.to_url()
 
  opener = urllib.OpenerDirector()
  opener.add_handler(http_handler)
  opener.add_handler(https_handler)
  opener.addheaders = [('User-agent', 'Opera/48.0')]
  print(req.to_postdata())
 
  response = opener.open(url, encoded_post_data)
  return response

def fetchsamples():
  url = "http://api.twitter.com/1.1/users/search.json?q=Katie&page=45&count=20&include_entities=false"
  parameters = []
  response = twitterreq(url, "GET", parameters)
  for line in response:
    print(line.strip())
 
if __name__ == '__main__':
  fetchsamples()


python get_twitter_data.py

https://docs.python.org/2/library/csv.html
Mining Twitter Data with Python: https://marcobonzanini.com/2015/03/02/mining-twitter-data-with-python-part-1/

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất /  Thay đổi )

Google photo

Bạn đang bình luận bằng tài khoản Google Đăng xuất /  Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất /  Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất /  Thay đổi )

Connecting to %s