我在下面寫下了這段代碼,它根據主題和日期從OED.com網站中刪除單詞,並將它們打印在列表中。如何在CSV文件中保存已刮取的列表?
import requests
import re
import urllib2
import os
import csv
year_search = 1550
subject_search = ['Law']
path = '/Applications/Python 3.5/Economic'
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor())
urllib2.install_opener(opener)
user_agent = 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)'
header = {'User-Agent':user_agent}
request = urllib2.Request('http://www.oed.com/', None, header)
f = opener.open(request)
data = f.read()
f.close()
print 'database first access was successful'
resultPath = os.path.join(path, 'OED_table.csv')
htmlPath = os.path.join(path, 'OED.html')
outputw = open(resultPath, 'w')
outputh = open(htmlPath, 'w')
request = urllib2.Request(
'http://www.oed.com/search?browseType=sortAlpha&case-insensitive=true'
'&dateFilter='+str(year_search)+'&nearDistance=1&ordered=false&page=1'
'&pageSize=100&scope=ENTRY&sort=entry&subjectClass='
+ str(subject_search) + '&type=dictionarysearch', None, header)
page = opener.open(request)
urlpage = page.read()
outputh.write(urlpage)
new_word = re.findall(
r'<span class=\"hwSect\"><span class=\"hw\">(.*?)</span>', urlpage)
print str(new_word)
outputw.write(str(new_word))
page.close()
outputw.close()
現在我想將它們打印到CSV文件,但每年我輸入將被放置爲行這樣的方式,而這句話都要跌倒在該行的行。
有點像:
1550| word1| word2| etc.|
1551| word1| word2| etc.|
有沒有人有什麼想法?
我知道你將只有一年(在你的代碼1550),然後是一個單詞列表(在你的代碼'new_word'中)。但是我沒有看到你在哪裏存儲超過1年的文字。是否足以顯示與其中一個年份相對應的行? –
您的報廢似乎不起作用。我已經嘗試了幾種不同的'year_search'值,並且它們都返回了相同的東西,一個只包含'['nicker']'的列表。請[編輯]您的問題,並將其更改爲將返回多個值的內容。 – martineau