Skip to content

Commit ac103b2

Browse files
committed
refactor crawler
1 parent ed39ec3 commit ac103b2

3 files changed

Lines changed: 28 additions & 3 deletions

File tree

heart/test.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# -*- coding:utf-8 -*-
2+
import jieba
3+
4+
print " ".join(jieba.cut(u":: [AVI/329M][C0930-hitozuma1007] 坂井雪恵 Yukie Sakai (308123)"))

pdf/crawler.py renamed to pdf/crawler1.py

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
# coding=utf-8
2+
import logging
23
import os
34
import re
45
import time
5-
import logging
6+
67
import pdfkit
78
import requests
89
from bs4 import BeautifulSoup
@@ -21,6 +22,22 @@
2122
"""
2223

2324

25+
class Crawler(object):
26+
"""
27+
爬虫基类,所有爬虫都应该继承此类
28+
"""
29+
name = None
30+
31+
def __init__(self, name=None, **kwargs):
32+
if name is not None:
33+
self.name = name
34+
elif not getattr(self, 'name', None):
35+
raise ValueError("%s must have a name" % type(self).__name__)
36+
37+
def parse(self):
38+
raise NotImplementedError
39+
40+
2441
def parse_url_to_html(url, name):
2542
"""
2643
解析URL,返回HTML内容
@@ -51,7 +68,8 @@ def func(m):
5168
rtn = m.group(1) + "http://www.liaoxuefeng.com" + m.group(2) + m.group(3)
5269
return rtn
5370
else:
54-
return m.group(1)+m.group(2)+m.group(3)
71+
return m.group(1) + m.group(2) + m.group(3)
72+
5573
html = re.compile(pattern).sub(func, html)
5674
html = html_template.format(content=html)
5775
html = html.encode("utf-8")
@@ -120,4 +138,4 @@ def main():
120138

121139

122140
if __name__ == '__main__':
123-
main()
141+
Crawler().parse()

pdf/requirement.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
requests==2.12.4
2+
beautifulsoup4==4.5.3
3+
pdfkit==0.6.1

0 commit comments

Comments
 (0)