python公衆號開車功能

 

昨天在微信公衆號後臺搞了個開車的功能,大概是根據回覆的關鍵字去bt搜索站搜索種子地址而後回覆。用了xpath作數據獲取,但感受效率不夠,容易超時出現「公衆號暫時沒法服務」的狀況,考慮兩種解決方案:html

1.優化爬蟲效率,提高獲取結果的時效;json

2.優化微信回覆邏輯;(微信api文檔給出的解決方案是默認回覆空或success,而後調用客服消息接口回覆內容,但我的公衆號沒法開通客服消息接口,故沒法按此方案解決)api

目前只能保持現狀,貼上代碼:微信

ps:經過用戶輸入的關鍵詞獲取搜索結果裏的磁力連接,i表示獲取前多少條記錄。因爲搜索結果默認是以熱度排序,因此靠前的磁力連接可用度比較高app

#-*- 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

相關文章
相關標籤/搜索