def accountcreate_create(request): try: person_show=name = request.session["Uid"] except: return render_to_response( "login.html",{'nameerror':'非法'}) account=request.GET["account"] kindname=request.GET["kindname"] sum1=string.atof(request.GET["sum1"]) proid=request.GET["proid"] firstm=string.atof(request.GET["firstm"]) accid = request.GET["accid"] d1=Project.objects.get(pid = proid) str1=kindname str2=account s1 = str1.split(',') s2 = str2.split(',') if d1.iscreate == False: for i in range(0,len(s1)-1): c1=s1[i] c2=string.atof(s2[i]) b=Prokindaccount( proid = d1,payname = c1,money_sum = (c2 * 10000),money_cost = 0,buff = 0,) b.save() d1.iscreate=True d1.save() a=Account(project_id=d1,money_sum = (sum1 * 10000),money_act = (firstm * 10000),money_cost = 0,account_id = accid,) a.save() e=Accountadd_record(project_id = d1,time = datetime.datetime.now(),money_add = (firstm * 10000),) e.save() else: Prokindaccount.objects.filter(proid = proid).delete() for i in range(0,len(s1)-1): c1=s1[i] c2=string.atof(s2[i]) b=Prokindaccount( proid = d1,payname = c1,money_sum = (c2*10000),money_cost = 0,buff = 0,) b.save() Accountadd_record.objects.get(project_id = proid).delete() e=Accountadd_record(project_id = d1,time = datetime.datetime.now(),money_add = (firstm * 10000),) e.save() a=Account.objects.get(project_id = proid) a.money_sum= (sum1 * 10000) a.money_act = (firstm * 10000) a.account_id = accid a.save() alldata=[] onedata = [0,0] onedata[0] = "1" onedata[1] = '2' alldata.append(onedata) data = simplejson.dumps(alldata) return HttpResponse(data, 'application/javascript')
def run(self): count = 0 while True: # count += 1 # log.info('第{}次'.format(count)) # ADD_COLLECTION 补采账号 get_account 日常采集; 使用account_list 兼容单个账号和账号列表 account_list = ADD_COLLECTION if ADD_COLLECTION else self.get_account( ) log.info('一共获取{}账号'.format(len(account_list))) # if account_list is None: # log.info('调度队列为空,休眠5秒') # time.sleep(5) for account_name in account_list: if not account_name: log.error('没有账号名字') continue count += 1 log.info('第{}次'.format(count)) # if count < 752: # continue try: self.search_name = account_name html_account = self.account_homepage() if html_account: html = html_account else: log.info('{}|找到不到微信号'.format(account_name)) continue urls_article = self.urls_article(html) # 确定account信息 account = Account() account.name = self.name account.account = account_name account.tags = self.get_tags() account.get_account_id() if not account.account_id: log.info('没有account_id'.format(self.name)) # todo 广州市委没有account_id account.account_id = '' continue # 判重 ids = self.dedup(account_name) if JUDEG else '' entity = None backpack_list = [] for page_count, url in enumerate(urls_article): if page_count > 10: break article = Article() try: article.create(url, account) except RuntimeError as run_error: log.info('找不到浏览器 {}'.format(run_error)) log.info('第{}条 文章标题: {}'.format( page_count, article.title)) log.info("当前文章url: {}".format(url)) entity = JsonEntity(article, account) log.info('当前文章ID: {}'.format(entity.id)) # if entity.id in ids and JUDEG is True: # log.info('当前文章已存在,跳过0') # # continue backpack = Backpack() backpack.create(entity) backpack_list.append(backpack.create_backpack()) log.info("开始发包") if entity and backpack_list: entity.uploads(backpack_list) log.info("发包完成") time.sleep(5) except Exception as e: log.exception("解析公众号错误 {}".format(e)) if 'chrome not reachable' in str(e): raise RuntimeError('chrome not reachable') continue
def run(self): self.set_key_uin() while True: _biz_list = self.biz_list() if _biz_list: entity = None for biz in _biz_list: try: self._biz = biz self.create_url() print('添加成功') # self.url = 'https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzA4OTEwNDUwMA==&uin=MTE1NjkxODg2MQ==&key=2e15abc1cc63c6472b3f9e24b445b1c19bb7dcee55cf4eb76c5363872c0f2f760899356828e84a3aeeb272cb0565257c52ac612c186648dbb4226484e2f04530a140a103860689fe7656df0d53f08ab5' resp = requests.get(self.url, headers=self.headers) # 响应结果为空即key失效 if len(resp.text) == 0: log('key失效,获取新的key', self.url) self.set_key_uin() resp = requests.get(self.url, headers=self.headers) else: log('key有效,当前链接', self.url) urls = self.urls_article(resp) # 构建account article = Article() article.create(urls[0]) log("文章标题 {}".format(article.title)) # article.title = article.title.replace('【', '') # article.title = article.title.replace('】', '') # article.title = article.title.replace('!', '') log(article.title) account = Account() account.name = article.author # account.name = '中央纪委国家监委网站' account.account = article.account # account.account = 'gh_a78ef1e3d11e' account.get_account_id() account.account_id = 126774166 if not account.account: log("错误,找不到account") backpack_list = [] article_count = 0 for article_count, url in enumerate(urls): log('文章链接', url) article = Article() article.create(url) article.title = article.title.replace('.', '') if '!' in article.title: article.title = article.title.replace('!', '') log("文章标题 {}".format(article.title)) entity = JsonEntity(article, account) backpack = Backpack() # 文章为分享,正则匹配不到时间,会异常 try: backpack.create(entity) except Exception as e: log('share error', e) continue backpack_list.append(backpack.create_backpack()) # 上传数据库 sql = ''' INSERT INTO account_http(article_url, addon, account, account_id, author, id, title) VALUES (%s, %s, %s, %s, %s, %s, %s) ''' _tuple = (entity.url, datetime.datetime.now(), entity.account, entity.account_id, entity.author, entity.id, entity.title) uploads_mysql(config_mysql, sql, _tuple) # if article_count == 4: # break log('采集账号:{} 所有文章完毕,共{}条文章'.format( self.name, article_count + 1)) log("发包") if entity: entity.uploads(backpack_list) log("uploads successful") print("end") # 迭代一个账号 break except Exception as e: log('account error', e) continue