最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用python實現(xiàn)抓取騰訊視頻所有電影的爬蟲

 更新時間:2019年04月15日 16:23:57   作者:瘋子程序員  
這篇文章主要介紹了使用python實現(xiàn)抓取騰訊視頻所有電影的爬蟲,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下

用python實現(xiàn)的抓取騰訊視頻所有電影的爬蟲

# -*- coding: utf-8 -*-
import re
import urllib2
from bs4import BeautifulSoup
import string, time
import pymongo
NUM   =0 #全局變量,電影數(shù)量
m_type = u'' #全局變量,電影類型
m_site = u'qq' #全局變量,電影網(wǎng)站
#根據(jù)指定的URL獲取網(wǎng)頁內(nèi)容
def gethtml(url):
  req = urllib2.Request(url)
  response = urllib2.urlopen(req)
  html = response.read()
  return html
#從電影分類列表頁面獲取電影分類
def gettags(html):
  global m_type
  soup = BeautifulSoup(html)   #過濾出分類內(nèi)容
  #print soup
  #<ulclass="clearfix _group" gname="mi_type" gtype="1">
  tags_all = soup.find_all('ul', {'class' :'clearfix _group' ,'gname' :'mi_type'})
  #print len(tags_all), tags_all
  #print str(tags_all[1]).replace('\n','')
  #<a _hot="tag.sub" class="_gtag _hotkey"  title="動作" tvalue="0">動作</a>
  re_tags = r'<a _hot=\"tag\.sub\" class=\"_gtag _hotkey\" href=\"(.+?)\" title=\"(.+?)\" tvalue=\"(.+?)\">.+?</a>'
  p = re.compile(re_tags, re.DOTALL)
  tags = p.findall(str(tags_all[0]))
  if tags:
    tags_url = {}
    #print tags
    for tagin tags:
      tag_url = tag[0].decode('utf-8')
      #print tag_url
      m_type = tag[1].decode('utf-8')
      tags_url[m_type] = tag_url
  else:
      print"Not Find"
  return tags_url
#獲取每個分類的頁數(shù)
def get_pages(tag_url):
  tag_html = gethtml(tag_url)
  #divclass="paginator
  soup = BeautifulSoup(tag_html)   #過濾出標記頁面的html
  #print soup
  #<divclass="mod_pagenav" id="pager">
  div_page = soup.find_all('div', {'class' :'mod_pagenav','id' :'pager'})
  #print div_page #len(div_page), div_page[0]
  #<aclass="c_txt6"  title="25"><span>25</span></a>
  re_pages = r'<a class=.+?><span>(.+?)</span></a>'
  p = re.compile(re_pages, re.DOTALL)
  pages = p.findall(str(div_page[0]))
  #print pages
  if len(pages) >1:
    return pages[-2]
  else:
    return 1
def getmovielist(html):
  soup = BeautifulSoup(html)
  #<ulclass="mod_list_pic_130">
  divs = soup.find_all('ul', {'class' :'mod_list_pic_130'})
  #print divs
  for div_htmlin divs:
    div_html = str(div_html).replace('\n','')
    #print div_html
    getmovie(div_html)
def getmovie(html):
  global NUM
  global m_type
  global m_site
  re_movie = r'<li><a class=\"mod_poster_130\" href=\"(.+?)\" target=\"_blank\" title=\"(.+?)\"><img.+?</li>'
  p = re.compile(re_movie, re.DOTALL)
  movies = p.findall(html)
  if movies:
    conn = pymongo.Connection('localhost',27017)
    movie_db = conn.dianying
    playlinks = movie_db.playlinks
    #print movies
    for moviein movies:
      #print movie
      NUM +=1
      print"%s : %d" % ("=" *70, NUM)
      values = dict(
        movie_title = movie[1],
        movie_url  = movie[0],
        movie_site   = m_site,
        movie_type   = m_type
        )
      print values
      playlinks.insert(values)
      print"_" *70
      NUM +=1
      print"%s : %d" % ("=" *70, NUM)
  #else:
  #  print"Not Find"
def getmovieinfo(url):
  html = gethtml(url)
  soup = BeautifulSoup(html)
  #pack pack_album album_cover
  divs = soup.find_all('div', {'class' :'pack pack_album album_cover'})
  #print divs[0]
  #<a  target="new" title="《血滴子》獨家紀錄片" wl="1"> </a>
  re_info = r'<a href=\"(.+?)\" target=\"new\" title=\"(.+?)\" wl=\".+?\"> </a>'
  p_info = re.compile(re_info, re.DOTALL)
  m_info = p_info.findall(str(divs[0]))
  if m_info:
    return m_info
  else:
    print"Not find movie info"
  return m_info
def insertdb(movieinfo):
  global conn
  movie_db = conn.dianying_at
  movies = movie_db.movies
  movies.insert(movieinfo)
if __name__ =="__main__":
  global conn
  tags_url ="http://v.qq.com/list/1_-1_-1_-1_1_0_0_20_0_-1_0.html"
  #print tags_url
  tags_html = gethtml(tags_url)
  #print tags_html
  tag_urls = gettags(tags_html)
  #print tag_urls
  for urlin tag_urls.items():
    print str(url[1]).encode('utf-8') #,url[0]
    maxpage =int(get_pages(str(url[1]).encode('utf-8')))
    print maxpage
    for xin range(0, maxpage):
      #http://v.qq.com/list/1_0_-1_-1_1_0_0_20_0_-1_0.html
      m_url = str(url[1]).replace('0_20_0_-1_0.html','')
      movie_url ="%s%d_20_0_-1_0.html" % (m_url, x)
      print movie_url
      movie_html = gethtml(movie_url.encode('utf-8'))
      #print movie_html
      getmovielist(movie_html)
      time.sleep(0.1)

總結(jié)

以上所述是小編給大家介紹的使用python實現(xiàn)抓取騰訊視頻所有電影的爬蟲,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復(fù)大家的!

相關(guān)文章

  • Django實現(xiàn)下載超大CSV文件的示例代碼

    Django實現(xiàn)下載超大CSV文件的示例代碼

    這篇文章主要為大家詳細介紹了如何利用 Django 進行大型 CSV 文件的流傳輸,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-01-01
  • python自然語言編碼轉(zhuǎn)換模塊codecs介紹

    python自然語言編碼轉(zhuǎn)換模塊codecs介紹

    這篇文章主要介紹了python自然語言編碼轉(zhuǎn)換模塊codecs介紹,codecs專門用作編碼轉(zhuǎn)換,通過它的接口是可以擴展到其他關(guān)于代碼方面的轉(zhuǎn)換,需要的朋友可以參考下
    2015-04-04
  • windows環(huán)境下tensorflow安裝過程詳解

    windows環(huán)境下tensorflow安裝過程詳解

    這篇文章主要為大家詳細介紹了windows環(huán)境下tensorflow安裝過程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • python遠程登錄代碼

    python遠程登錄代碼

    因為 python 已內(nèi)建了一個 pop3 的函式庫,所以我們直接用它來完成郵件的下載和處理。事實上, 如果我們不用 poplib 的話,我們還是可以完成那個例子中的所有作業(yè):就是通過模擬 telnet的協(xié)定。
    2008-04-04
  • 淺談Python項目的服務(wù)器部署

    淺談Python項目的服務(wù)器部署

    這篇文章主要介紹了Python項目的服務(wù)器部署,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-04-04
  • Python中配置文件的全面解析與使用

    Python中配置文件的全面解析與使用

    在Python開發(fā)中,配置文件扮演著舉足輕重的角色,它們允許開發(fā)者在不修改代碼的情況下調(diào)整應(yīng)用程序的行為,下面我們就來看看常見Python配置文件格式的使用吧
    2025-03-03
  • Spring Cloud Feign高級應(yīng)用實例詳解

    Spring Cloud Feign高級應(yīng)用實例詳解

    這篇文章主要介紹了Spring Cloud Feign高級應(yīng)用實例詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • 利用Python的turtle庫繪制玫瑰教程

    利用Python的turtle庫繪制玫瑰教程

    今天小編就為大家分享一篇利用Python的turtle庫繪制玫瑰教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • 基于Python的接口測試框架實例

    基于Python的接口測試框架實例

    下面小編就為大家?guī)硪黄赑ython的接口測試框架實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11
  • python Selenium 庫的使用技巧

    python Selenium 庫的使用技巧

    這篇文章主要介紹了python Selenium 庫的使用技巧,幫助大家更好的理解和學(xué)習(xí)python Selenium 庫,感興趣的朋友可以了解下
    2020-10-10

最新評論

吉首市| 西充县| 金塔县| 三亚市| 龙岩市| 芜湖县| 康定县| 西林县| 阿克苏市| 灌云县| 梅河口市| 沭阳县| 玉林市| 克山县| 阿拉善右旗| 牟定县| 天水市| 凤城市| 洛南县| 夏河县| 武威市| 砚山县| 左贡县| 莱西市| 白山市| 巴塘县| 沁阳市| 商城县| 分宜县| 乐昌市| 全椒县| 江阴市| 哈密市| 新巴尔虎左旗| 金华市| 榆中县| 阿拉善左旗| 三江| 麻江县| 文安县| 辉南县|