我pytrends
用来自动csv
从谷歌趋势下载数据。我使用的代码如下。在这种情况下,我正在下载从 2008 年到现在的每月谷歌趋势数据。
from pytrends.request import TrendReq
from urllib.parse import unquote
from dateutil.relativedelta import relativedelta
import datetime
import pytrends
google_username = "xxxxx@gmail.com"
google_password = "xxxxx"
search_term = unquote('%2Fm%2F07gyp7')
google_trend = TrendReq(google_username, google_password, custom_useragent='Pytrends' )
google_trend_payload = {'gprop' : 'news' , 'q': search_term}
trendresult = TrendReq.trend(google_trend_payload, return_type = 'dataframe')
print(trendresult)
Run Code Online (Sandbox Code Playgroud)
google 网站前 5 个月的结果与 pytrends 的结果对比:
Date Pytrends data Manual csv data
2008-01 21.0 28.0
2008-02 16.0 19.0
2008-03 16.0 21.0
2008-04 15.0 18.0
2008-05 22.0 31.0 …
Run Code Online (Sandbox Code Playgroud) 我有下面的代码,但它os.mkdir
不适用于我的。编译不会返回任何错误,但运行代码不会创建文件夹。
def folder():
timenow = datetime.now().strftime('%Y-%m-%d_%H%M%S')
folderpath = os.path.join(currentpath,"folder",str(timenow))
if os.path.exists(folderpath) == False:
os.mkdir(folderpath)
return
Run Code Online (Sandbox Code Playgroud) 我有这个 sample.csv 文件:
a 1 apple
b 2 banana
c 3 cranberry
d 4 durian
e 5 eggplant
Run Code Online (Sandbox Code Playgroud)
并有以下代码:
samplefile = open(sample.csv,'rb')
rows = samplefile .readlines()
outputfile = open(output.csv,'wb')
wr = csv.writer(outputfile)
for row in rows:
wr.writerow(row)
Run Code Online (Sandbox Code Playgroud)
我想要的是在 for 循环期间的某个时刻写入 outputfile 的第一行,即当 outputfile 可能已经有条目时。
我使用这个轮文件pytrends.whl和下面的目录安装了pytrends
Directory of C:\Python35\Lib\site-packages\pytrends
09/15/2016 10:30 AM <DIR> .
09/15/2016 10:30 AM <DIR> ..
09/15/2016 10:30 AM 6,799 request.py
09/15/2016 10:30 AM 0 __init__.py
09/15/2016 10:30 AM <DIR> __pycache__
2 File(s) 6,799 bytes
3 Dir(s) 323,016,486,912 bytes free
Run Code Online (Sandbox Code Playgroud)
和
Directory of C:\Python35\Lib\site-packages\pytrends-3.1.0.dist-info
09/15/2016 10:30 AM <DIR> .
09/15/2016 10:30 AM <DIR> ..
09/15/2016 10:30 AM 7,900 DESCRIPTION.rst
09/15/2016 10:30 AM 4 INSTALLER
09/15/2016 10:30 AM 8,622 METADATA
09/15/2016 10:30 AM 878 metadata.json
09/15/2016 10:30 AM 835 RECORD
09/15/2016 …
Run Code Online (Sandbox Code Playgroud)