Last active
August 29, 2015 14:07
-
-
Save k5trismegistus/fc6d2aacc999a7a6be90 to your computer and use it in GitHub Desktop.
タイトルの一部から検索可能
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def search_from_keyword(keyword): | |
"""Search by keyword(Title) and return proposals""" | |
def get_metadata(div): | |
metadata = {} | |
metadata['Series'] = get_series(div) | |
metadata['Writer'] = get_writer(div) | |
metadata['Penciller'] = get_penciller(div) | |
metadata['Genre'] = get_genre(div) | |
date = get_date(div) | |
metadata['Year'] = date[0] | |
metadata['Month'] = date[1] | |
metadata['Day'] = date[2] | |
return metadata | |
def get_series(div): | |
raw_series = div.find('span', text='原題:').next_sibling.next_sibling | |
series = raw_series.string | |
return series | |
def get_writer(div): | |
raw_writer = div.find('span', text='サークル:').next_sibling.next_sibling | |
writer = raw_writer.string | |
return writer | |
def get_penciller(div): | |
raw_penciller = div.find('span', text='著者:').next_sibling.next_sibling | |
penciller = raw_penciller.string.split(',') | |
return penciller | |
def get_genre(div): | |
raw_genre = div.find('span', text='原作:').next_sibling.next_sibling | |
genre = raw_genre.string.split(',') | |
return genre | |
def get_date(div): | |
raw_date = div.find('b', text='発行日:').parent | |
raw_date.b.extract() | |
date = raw_date.string.split('-') | |
return date | |
keyword = urllib.parse.quote(keyword) | |
url = 'http://www.doujinshi.org/search/simple/?T=objects&sn=' + keyword | |
html = urllib.request.urlopen(url).read().decode('utf-8') | |
soup = bs4.BeautifulSoup(html) | |
div_bookinfos = soup.find_all('div', class_='bookinfo') | |
metadatas = [] | |
for d in div_bookinfos: | |
m = get_metadata(d) | |
metadatas.append(m) | |
return metadatas | |
if __name__ == '__main__': | |
for i in search_from_keyword('東方浮世絵巻'): | |
print(i) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{'Series': '東方浮世絵巻 パチュリー・ノーリッジ', 'Writer': 'PARANOIA CAT', 'Year': ' 2006', 'Day': '31', 'Month': '12', 'Genre': ['東方Project'], 'Penciller': ['藤原俊一']} | |
{'Series': '東方浮世絵巻 八雲紫 PREVIEW版', 'Writer': 'PARANOIA CAT', 'Year': ' 2005', 'Day': '04', 'Month': '05', 'Genre': ['東方Project'], 'Penciller': ['藤原俊一']} | |
{'Series': '東方浮世絵巻 博麗霊夢', 'Writer': 'PARANOIA CAT', 'Year': ' 2005', 'Day': '30', 'Month': '12', 'Genre': ['東方Project'], 'Penciller': ['藤原俊一']} | |
{'Series': '東方浮世絵巻 短編再録集 2005', 'Writer': 'PARANOIA CAT', 'Year': ' 2006', 'Day': '23', 'Month': '04', 'Genre': ['東方Project'], 'Penciller': ['藤原俊一']} | |
{'Series': '東方浮世絵巻 八意 永琳', 'Writer': 'PARANOIA CAT', 'Year': ' 2006', 'Day': '13', 'Month': '08', 'Genre': ['東方Project'], 'Penciller': ['藤原俊一']} | |
{'Series': '東方浮世絵巻 河城にとり', 'Writer': 'PARANOIA CAT', 'Year': ' 2007', 'Day': '19', 'Month': '08', 'Genre': ['東方Project'], 'Penciller': ['藤原俊一']} | |
{'Series': '東方浮世絵巻 紅美鈴', 'Writer': 'PARANOIA CAT', 'Year': ' 2008', 'Day': '03', 'Month': '03', 'Genre': ['東方Project'], 'Penciller': ['藤原俊一']} | |
{'Series': '東方浮世絵巻 屈辱編 「泥舟タイタニックとおてんば恋娘の逆襲」', 'Writer': 'PARANOIA CAT', 'Year': ' 2005', 'Day': '18', 'Month': '09', 'Genre': ['東方Project'], 'Penciller': ['藤原俊一']} | |
{'Series': '東方浮世絵巻 八雲紫', 'Writer': 'PARANOIA CAT', 'Year': ' 2005', 'Day': '14', 'Month': '08', 'Genre': ['東方Project'], 'Penciller': ['藤原俊一']} | |
{'Series': '東方浮世絵巻 アリス・マーガトロイド', 'Writer': 'PARANOIA CAT', 'Year': ' 2005', 'Day': '21', 'Month': '03', 'Genre': ['東方Project'], 'Penciller': ['藤原俊一']} | |
{'Series': '東方浮世絵巻 番外編 「うどんげのお話」', 'Writer': 'PARANOIA CAT', 'Year': ' 2006', 'Day': '29', 'Month': '01', 'Genre': ['東方Project'], 'Penciller': ['藤原俊一']} | |
{'Series': '東方浮世絵巻 射命丸文', 'Writer': 'PARANOIA CAT', 'Year': ' 2008', 'Day': '17', 'Month': '08', 'Genre': ['東方Project'], 'Penciller': ['藤原俊一']} | |
{'Series': '東方浮世絵巻 魂魄妖夢', 'Writer': 'PARANOIA CAT', 'Year': ' 2005', 'Day': '23', 'Month': '01', 'Genre': ['東方Project'], 'Penciller': ['藤原俊一']} | |
{'Series': '東方浮世絵巻 東風谷早苗', 'Writer': 'PARANOIA CAT', 'Year': ' 2009', 'Day': '08', 'Month': '03', 'Genre': ['東方Project'], 'Penciller': ['藤原俊一']} | |
{'Series': '東方浮世絵巻 ミルキーウェイの刹那的且つ情熱的な魔術符', 'Writer': 'PARANOIA CAT', 'Year': ' 2009', 'Day': '16', 'Month': '08', 'Genre': ['東方Project'], 'Penciller': ['藤原俊一']} | |
{'Series': '東方浮世絵巻 短編再録集2', 'Writer': 'PARANOIA CAT', 'Year': ' 2009', 'Day': '16', 'Month': '08', 'Genre': ['東方Project'], 'Penciller': ['藤原俊一']} | |
{'Series': '東方浮世絵巻 火焔猫の飼い方地獄鴉の育て方(委託版)', 'Writer': 'PARANOIA CAT', 'Year': ' 2009', 'Day': '11', 'Month': '10', 'Genre': ['東方Project'], 'Penciller': ['藤原俊一']} | |
{'Series': '東方浮世絵巻 姉はあまアマ大魔法使い', 'Writer': 'PARANOIA CAT', 'Year': ' 2009', 'Day': '31', 'Month': '12', 'Genre': ['東方Project'], 'Penciller': ['藤原俊一']} | |
{'Series': '東方浮世絵巻 「鬼退治偽物語」', 'Writer': 'PARANOIA CAT', 'Year': ' 2009', 'Day': '31', 'Month': '12', 'Genre': ['東方Project'], 'Penciller': ['藤原俊一']} | |
{'Series': '東方浮世絵巻 微笑ナイフ', 'Writer': 'PARANOIA CAT', 'Year': ' 2010', 'Day': '05', 'Month': '05', 'Genre': ['東方Project'], 'Penciller': ['藤原俊一']} | |
{'Series': '東方浮世絵巻「聖なる船の奇跡の軌跡」', 'Writer': 'PARANOIA CAT', 'Year': ' 2010', 'Day': '11', 'Month': '10', 'Genre': ['東方Project'], 'Penciller': ['藤原俊一']} | |
{'Series': '東方浮世絵巻 リメンバー・アリス', 'Writer': 'PARANOIA CAT', 'Year': ' 2011', 'Day': '16', 'Month': '01', 'Genre': ['東方Project'], 'Penciller': ['藤原俊一']} | |
{'Series': '東方浮世絵巻 火焔猫の飼い方・地獄鴉の育て方', 'Writer': 'PARANOIA CAT', 'Year': ' 2009', 'Day': '11', 'Month': '10', 'Genre': ['東方Project'], 'Penciller': ['藤原俊一']} | |
{'Series': '東方浮世絵巻 再録集', 'Writer': 'PARANOIA CAT', 'Year': ' 2011', 'Day': '13', 'Month': '03', 'Genre': ['東方Project'], 'Penciller': ['藤原俊一']} | |
{'Series': '東方浮世絵巻「リメンバー☆アリス」PREVIEW', 'Writer': 'PARANOIA CAT', 'Year': ' 2010', 'Day': '31', 'Month': '12', 'Genre': ['東方Project'], 'Penciller': ['藤原俊一']} | |
Process finished with exit code 0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment