職場でオープンソース版「Fastladder」を入れて使っている。
最近、最も保守的だと言われている知財の部署からエラー報告や、要望とかがちょくちょく寄せられるようになってきて、おー結構普及したなぁと延べ人数数えたら7割超えてた。Fastladderの前に一年くらい違うRSSリーダー使ってから3年半くらいかかってここまで来た感じ(RSSごときで3年もかかんのか?なんて思うんだけど、一般的に製薬業界はITリテラシー低いですね。なんでだろうかね?)。
地道な啓蒙活動に付き合って講習会を手伝ってくれたK君とかN君とか、別のサイトで普及活動に励んでくれたA君に感謝しないとな。
さて、登録されてるフィードの内容見てるとPubmedとWIPOのPatentscopeが多いが、知財のヒトからエラー報告として挙げられた内容の中に400件くらいエントリのあるフィード(WIPO)を新規登録できないってのがあった。
研究者はプロジェクトの内容で検索かけるのだけど、知財のヒトは会社毎の検索式を追いかけたりするらしい。例えばPA/TAKEDA PHARMACEUTICALなんて検索かけると700件以上ヒットして、その検索式をRSSにすると500件のエントリが含まれるRSSが出力される。これがfastladderだと新規登録で弾かれる。ちなみに研究者の検索する状況ではそんな多量のエントリーの含まれるフィードは出てこなかったりするので今まで問題にならなかったみたい。
ソース見てないからわかんないんだけど、fastladderの未読記事のmax200件にしてるからそれで引っかかってんのかなぁと
んだよWIPOのRSSはmax指定できないの?->できないっぽい
とりあえず、feedのエントリ数を減らすような中継かませばいいんじゃないかと、休日を利用してササッと書いてみた。
import feedparser import feedgenerator from time import mktime from datetime import datetime MAX_ENTRIES = 10 wipo_url = "http://www.wipo.int/pctdb/en/rss.jsp?C=1&QUERY=" query = "(FP%2FPA%2FTAKEDA+AND+FP%2FPHARMACEUTICAL)" d = feedparser.parse(wipo_url+query) feed = feedgenerator.Rss201rev2Feed( title = d.feed.title, link = d.feed.link, feed_url = d.url, description = d.channel.description ) for entry in d.entries[:MAX_ENTRIES]: feed.add_item( title = entry.title, link = entry.link, description = entry.description, pubdate = datetime.fromtimestamp(mktime(entry.updated_parsed)) ) print feed.writeString('utf-8')
あとは、CGIかFlaskで動かせばOKでしょう。
pubdateのとこで若干はまったけどsofのパワーで解決。
今は、イントラQAサイトを定着させるのにちょっと力を入れてる。