Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- from urllib.request import urlopen
- from urllib.error import URLError
- import logging
- import re
- import time
- coding = 'sjis'
- def main():
- while True:
- check(server='vipper.2ch.net', ita='news4vip', titlePattern=re.compile('プログラミング'))
- time.sleep(60)
- def check(server, ita, titlePattern):
- ''' 2chのスレッド一覧を取得し、スレタイがtitlePatternに一致するスレを見つけたらそのスレのURLを表示する '''
- subbackUrl = 'https://{}/{}/subback.html'.format(server, ita)
- threadUrl = 'http://{}/{}/test/read.cgi/{}'
- try:
- req = urlopen(subbackUrl)
- html = req.read().decode(coding, 'replace')
- except URLError:
- return 1
- ''' line = "<a href="スレッドID/l50">番号: スレタイ</a>" '''
- linePattern = re.compile('<a href="(?P<thread>[0-9]+)/l50">[0-9]+: (?P<title>.*)</a>')
- for line in html.splitlines():
- matchObj = linePattern.match(line)
- if not matchObj:
- continue
- threadId = matchObj.group('thread')
- title = matchObj.group('title')
- if titlePattern.search(title):
- print(threadUrl.format(server, ita, threadId))
- if __name__ == '__main__':
- exit(main())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement