真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python3如何爬取torrent種子鏈接-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)python3如何爬取torrent種子鏈接的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

10年積累的網(wǎng)站建設(shè)、網(wǎng)站制作經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認識你,你也不認識我。但先網(wǎng)站設(shè)計制作后付款的網(wǎng)站建設(shè)流程,更有西塞山免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

本文環(huán)境是python3,采用的是urllib,BeautifulSoup搭建。

說下思路,這個項目分為管理器,url管理器,下載器,解析器,html文件生產(chǎn)器。各司其職,在管理器進行調(diào)度。最后將解析到的種子連接生產(chǎn)html文件顯示。當然也可以保存在文件。最后效果如圖。

首先在管理器SpiderMain()這個類的構(gòu)造方法里初始化下載器,解析器,html生產(chǎn)器。代碼如下。

def__init__(self):

  self.urls = url_manager.UrlManager()
  self.downloader = html_downloader.HtmlDownloader()
  self.parser = html_parser.HtmlParser()
  self.outputer = html_outputer.HtmlOutputer()

然后在主方法里寫入主連接并開始下載解析和輸出。

if __name__ == '__main__':
  url = "http://www.btany.com/search/桃谷繪里香-first-asc-1"
  # 解決中文搜索問題 對于:?=不進行轉(zhuǎn)義
  root_url = quote(url,safe='/:?=')
  obj_spider = SpiderMain()
  obj_spider.parser(root_url)

用下載器進行下載,解析器解析下載好的網(wǎng)頁,最后輸出。管理器的框架邏輯就搭建完畢

def parser(self, root_url):  
  html = self.downloader.download(root_url)  
  datas = self.parser.parserTwo(html)  
  self.outputer.output_html3(datas)

downloader下載器代碼如下:

def download(self, chaper_url):

  if chaper_url is None:
    return None
  headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0'}
  req = urllib.request.Request(url=chaper_url, headers=headers)
  response = urllib.request.urlopen(req)
  if response.getcode() != 200:
    return None

  return response.read()

headers是模仿瀏覽器的請求頭。不然下載不到html文件。

解析器代碼如下:

# 解析種子文件
def parserTwo(self,html):
  if html is None:
    return
  soup = BeautifulSoup(html,'html.parser',from_encoding='utf-8')
  res_datas = self._get_data(soup)
  return res_datas

# 將種子文件的標題,磁力鏈接和迅雷鏈接進行封裝
def _get_data(self,soup):
  res_datas = []
  all_data = soup.findAll('a',href=re.compile(r"/detail"))
  all_data2 = soup.findAll('a', href=re.compile(r"magnet"))
  all_data3 = soup.findAll('a',href=re.compile(r"thunder"))
  for i in range(len(all_data)):
    res_data = {}
    res_data['title'] = all_data[i].get_text()
    res_data['cl'] = all_data2[i].get('href')
    res_data['xl'] = all_data3[i].get('href')
    res_datas.append(res_data)
  return res_datas

通過分析爬下來的html文件,種子鏈接在a標簽下。然后提取magnet和thunder下的鏈接。

最后輸出器輸出html文件,代碼如下:

def __init__(self):
  self.datas = []

def collect_data(self, data):
  if data is None:
    return
  self.datas.append(data)
#輸出表單 
def output_html3(self,datas):
  fout = open('output.html', 'w', encoding="utf-8")

  fout.write("")
  fout.write("")
  fout.write("")
  fout.write("")

  for data in datas:
    fout.write("")
    fout.write("%s" % data['title'])
    fout.write("%s" % data['cl'])
    fout.write("%s" % data['xl'])
    fout.write("")

  fout.write("")
  fout.write("")
  fout.write("")
  fout.close()

python3如何爬取torrent種子鏈接

感謝各位的閱讀!關(guān)于“python3如何爬取torrent種子鏈接”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!


新聞名稱:python3如何爬取torrent種子鏈接-創(chuàng)新互聯(lián)
網(wǎng)頁地址:http://weahome.cn/article/edpjh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部