python 분석 페이지
8289 단어 python
--쓰 고 싶 지 않 아 간단 한데 코드 를 붙 여
1 import urllib2
2 import chardet
3 from BeautifulSoup import BeautifulSoup
4 import pymongo
5 import time
6 db = pymongo.Connection().notice #user notice
7
8 def load_work():
9 return db.work.find()
10 def work_insert(data):
11 db.work.insert(data)
12 def update_state(idx,data):
13 #print data
14 db.state.update(idx,data,upsert=True)
15 def to_notice(item):
16 if(len(item) == 0):
17 print 'No news'
18 else:
19 print item
20 #pass
21 def main_work():
22 work = load_work()
23 print '=====begin======'
24 print time.ctime()
25 for i in work:
26 data = urllib2.urlopen(i['url']).read()
27 charset = chardet.detect(data)['encoding'].lower()
28 if charset == 'gb2312':
29 charset = 'GBK'
30 soup = BeautifulSoup(data , fromEncoding = charset)
31 lst = soup.findAll('a')
32 new_item = []
33 url_set = []
34 for item in lst:
35 url = item.attrs[0][1]
36 text = item.getText()
37 url_set.append(url)
38 if(db.state.find_one({'url':i['url'] , 'url_set':url}) == None):state.update({'url':url} , {'url':url} , upsert = True)
39 if(len(new_item) > 0):
40 #TODO notice
41 to_notice(new_item)
42 db.state.update({'url':i['url']} , {'url':i['url'] , 'url_set':url_set},upsert=True)
43 print '=====end======'
44 while True:
45 main_work()
46 time.sleep(60)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.