文档章节

python公众号开车功能

李狗蛋丶
 李狗蛋丶
发布于 2016/11/04 10:13
字数 375
阅读 125
收藏 0

 

昨天在微信公众号后台搞了个开车的功能,大概是根据回复的关键字去bt搜索站搜索种子地址然后回复。用了xpath做数据获取,但感觉效率不够,容易超时出现“公众号暂时无法服务”的情况,考虑两种解决方案:

1.优化爬虫效率,提升获取结果的时效;

2.优化微信回复逻辑;(微信api文档给出的解决方案是默认回复空或success,然后调用客服消息接口回复内容,但个人公众号无法开通客服消息接口,故无法按此方案解决)

目前只能保持现状,贴上代码:

ps:通过用户输入的关键词获取搜索结果里的磁力链接,i表示获取前多少条记录。由于搜索结果默认是以热度排序,所以靠前的磁力链接可用度比较高

#-*- coding:utf-8 -*-
import xml.etree.ElementTree as ET
import requests
import json
import urllib2
from lxml import etree
#获取搜索结果的方法
def getUrl(key):
     url='https://www.torrentso.com/s/'+key+'/'
     html_content = requests.get(url).content
     html = etree.HTML(html_content)
     titles = html.xpath('//div[@class="bt_list"]/a/@title')
     urls = html.xpath('//div[@class="bt_list"]/a/@href')
     #初始化变量值
     i = 0
     replytext =''
     result=[]
     for i in range(0,6):

          downurl = getDown(urls[i])
          result.append(titles[i])
          result.append(downurl)

          replytext = replytext + '\n'+ titles[i]+'\n'+urls[i]+'\n'
          #print downurl
          i+=1

     return replytext
#获取磁力链接的方法
def getDown(url):
     html_content = requests.get(url).content
     html = etree.HTML(html_content)
     downurl = html.xpath('//div[@id="hash_newdown"]/textarea')

     return downurl[0].text

© 著作权归作者所有

李狗蛋丶
粉丝 1
博文 28
码字总数 20793
作品 0
广州
数据库管理员
私信 提问
我的数据分析(算法)学习进阶路线

今天简单介绍下,我入门数据分析以及算法工程师对我有帮助的资料。 第一步报个驾校,有车可以练车技 开车第一步不是学习交规,而是先报个驾校,你得有车可以练车技。就像用python写程序第一步...

cloudinsea
2018/05/07
0
0
如何在6个月内学习深度学习(翻译)

原文链接:如何在6个月内学习深度学习(翻译) 微信公众号:机器学习养成记 搜索添加微信公众号:chenchenwings 机器学习工程师Bargava的文章《How to learn Deep Learning in 6 months》介绍了...

小沁_3ca9
2018/04/09
0
0
业界 | Python 之父抛弃 Python!

  本文经授权转自公众号CSDN   ID:CSDNnews   作者:郭芮      7 月 12 日,Python 之父 Guido van Rossum 在 Python 邮件组里发邮称,他将退出 Python 核心决策层,而转居幕后。...

机器之心
2018/07/14
0
0
Python show-me-code 完结&总结

关键字:python、爬虫、数据分析、语音识别 文末附源码链接 环境:python3.5 win7 pycharm 完成 show-me-code 练习册 中的python基础修炼题目,共有26道,web相关的两道后续更新。每个文件夹...

RookieDay
2017/11/10
0
0
python 面向对象高级编程之使用@property

python学习笔记,特做记录,分享给大家,希望对大家有所帮助。 使用@property 在绑定属性时,如果我们直接把属性暴露出去,虽然写起来很简单,但是,没办法检查参数,导致可以把成绩随便改:...

展菲
07/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

RxJava进行单元测试的方式

@Test public void completeTask_retrievedTaskIsComplete() { // Given a new task in the persistent repository final Task newTask = new Task(TITLE, ""); ......

SuShine
3分钟前
1
0
正则表达式大全

检验手机号码 # 要求:手机号码必须为11位数字,以1开头,第二位为1或5或8。import redef verify_mobile(): mob = input("请输入手机号码:") ret = re.match(r"1[358]\d{9}", m......

彩色泡泡糖
6分钟前
1
0
QT之border-image属性

一、border-image的兼容性 border-image可以说是CSS3中的一员大将,将来一定会大放光彩,其应用潜力真的是非常的惊人。可惜目前支持的浏览器有限,仅Firefox3.5,chrome浏览器,Safari3+支持...

shzwork
7分钟前
2
0
Kubernetes Operator简易教程

1. 安装operator-sdk //安装 operator-sdk$ apt-get install operator-sdk.....$ operator-sdk versionoperator-sdk version: v0.7.0$ go versiongo version go1.11.4 darwin/amd64 2......

Robotcl_Blog
7分钟前
2
0
再谈DAG任务分解和Shuffle RDD

1、DagScheduler分析 DagScheduler功能主要是负责RDD的各个stage的分解和任务提交。Stage分解是从触发任务调度过程的finalStage开始倒推寻找父stage,如果父stage没有提交任务则循环提交缺失...

守望者之父
13分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部