1. 程式人生 > >xpath;;利用xpath爬取電影天堂

xpath;;利用xpath爬取電影天堂

電影天堂資料採集需求文件(先用正則表示式做)
一、 最新電影頁面電影連結採集
1. 首頁url:http://www.ygdy8.net/html/gndy/dyzz/list_23_1.html
2. 從該頁面根據正則匹配資料,具體要求如下:
 2.1 匹配電影名稱 例如:2017年動作冒險《太空救援》BD俄語中字
 2.2 匹配電影詳情頁連結地址 例如:/html/gndy/dyzz/20180107/55981.html
3.  分析url地址匹配前10頁資料

二、 根據電影詳情頁的url地址,採集電影詳情資訊
1. 根據正則,匹配資料,具體如下:
 1.1 匹配電影名稱 例如:太空救援/禮炮號空間站 
 1.2 匹配電影類別 例如:  動作/冒險
 1.3
匹配電影上映日期 例如:2017-10-05(俄羅斯)/2018-01-12(中國) 1.4 匹配電影片長 例如:111分鐘 1.5 匹配電影下載地址 例如:ftp://ygdy8:[email protected].dydytt.net:3026/[陽光電影www.ygdy8.net].太空救援.BD.720p.俄語中字.mkv 1.6 如需其他資料,自行書寫程式碼 2. 將所有匹配到的資料寫入excel表格中進行儲存,儲存格式如下圖: 注:以類和物件的方式去寫這個爬蟲,要求寫兩個爬蟲類,一個用於爬取列表頁的電影詳情頁地址,一個用於爬取電影詳細資訊資料,並儲存到excel檔案中。

xpath基本語法

# coding: utf-8
import requests
# lxml 包 專門用處理一些html和xml的  開啟cmd命令   輸入pip install lxml
# 引入etree模組,,從lxml包中引入我們需要的etree
from lxml import etree

# xpath  一組特定的規則,可以根據特殊的語法結構,    =headers)

# 將html原始碼轉換為樹形結構資料
html = etree.HTML(resposne.content)

# 根據xpath從html中提取img標籤,返回的是列表,列表中存放就是找到的標籤物件
# imgs = html.xpath('//img')
# for img in imgs: # # 查詢img標籤src屬性值 # src = img.xpath('@src') # print src links = html.xpath('//a[@class="archive-title"]/text()') for link in links: # 找到href屬性值,返回的是列表,可以取出列表中的第0個元素 href = link.xpath('@href')[0] title = link.xpath('text()')[0] print u'部落格標題:%s 連結:%s'%(title, href)

例子
利用xpath爬取電影天堂,將資料儲存在表格中

# coding: utf-8
import requests
from lxml import etree
import xlwt
headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0'
}
# 1.url
url = 'http://www.ygdy8.net/html/gndy/dyzz/index.html'
# 2.發起請求,接受響應
response = requests.get(url, headers=headers)
# 3.轉成樹形節點結構
html = etree.HTML(response.content)
# //select[@name="sldd"]/option[last()]/text() last()找到多個標籤中的最後一個標籤
total_page = html.xpath('//select[@name="sldd"]/option[last()]/text()')[0]
print '共有%s頁電影資訊,正在準備爬取!'%total_page
workbook = xlwt.Workbook(encoding='utf-8')
sheet = workbook.add_sheet(u'最新電影資訊')
sheet.write(0, 0, '電影名稱')
sheet.write(0, 1, '電影型別')
sheet.write(0, 2, '電影時長')
sheet.write(0, 3, '電影下載地址')
count = 0
# 迴圈遍歷所有頁
for x in range(1,int(total_page)+1):
    print '正在爬取第%s頁資料,請稍後....'%x
    # 根據x的值,拼接完整頁面url地址
    url = 'http://www.ygdy8.net/html/gndy/dyzz/list_23_%s.html'%x
    response = requests.get(url, headers=headers)
    html = etree.HTML(response.content)
    # 4.使用xpath查詢所有的href屬性值
    hrefs = html.xpath('//a[@class="ulink"]/@href')
    # for迴圈取出所有的href值
    for href in hrefs:
        count += 1
        print '正在爬取第%s個電影資訊..'%count
        # 拼接完整的url地址
        detail_url = 'http://www.ygdy8.net%s'%href
        # 傳送請求,拿回詳情頁面的資料
        detail_response = requests.get(detail_url, headers=headers)
        # print detail_response.content
        # 轉換樹形節點結構
        detail_html = etree.HTML(detail_response.content)
        # 根據xpath從詳情頁提取資料
        movie_info = detail_html.xpath('//div[@id="Zoom"]//text()')
        # for中存放的就是電影的所有資訊
        for movie in movie_info:
            if u'譯  名' in movie:
                movie_name = movie.split(u' ')[-1]
            elif u'類  別' in movie:
                movie_type = movie.split(u' ')[-1]
            elif u'片  長' in movie:
                movie_time = movie.split(u' ')[-1]

        download_url = detail_html.xpath('//tbody/tr/td/a/@href')[0]

        sheet.write(count, 0,movie_name)
        sheet.write(count, 1,movie_type)
        sheet.write(count, 2,movie_time)
        sheet.write(count, 3,download_url)

workbook.save(u'電影天堂資料.xls')

相關推薦

xpath利用xpath電影天堂

電影天堂資料採集需求文件(先用正則表示式做) 一、 最新電影頁面電影連結採集 1. 首頁url:http://www.ygdy8.net/html/gndy/dyzz/list_23_1.html 2. 從該頁面根據正則匹配資料,具體要求如下: 2.1 匹配電

python3----練習題(電影天堂資源)

ref .get odin log .html gb2312 list gpo {} 1 import requests 2 import re 3 4 url = ‘http://www.ygdy8.net/html/gndy/dyzz/list_23_{}.

Python電影天堂

前言: 本文非常淺顯易懂,可以說是零基礎也可快速掌握。如有疑問,歡迎留言,筆者會第一時間回覆。本文程式碼存於github 一、爬蟲的重要性: 如果把網際網路比喻成一個蜘蛛網,那麼Spider就是在網上爬來爬去的蜘蛛。網路蜘蛛通過網頁的連結地址來尋找網頁,從網站某一個頁面

爬蟲電影天堂電影連結

  比較熱愛python,最近在用eclipse寫java web,那就使用eclipse+PyDv配置環境,小試一次爬蟲吧~ 看電影還要到處找資源,索性自己直接爬取電影連結,只要在迅雷上crtl+c/v就可以邊播邊下了~ 僅以用來學習娛樂呦~~ 進入正題:   網頁開啟電影天堂,發現是一

Python電影天堂最新發布影片訊息

從今天開始我會把我學習python爬蟲的一些心得體會和程式碼釋出在我現在的部落格,好記性不如爛筆頭,以便以後的我進行復習。 雖然我現在的爬蟲還很幼小,希望有一天她能長得非常非常的強大。 --------------------2018.11.22--------------------------------

java實現簡單的網路爬蟲(電影天堂電影資訊)

在最開始,我們要在網上下載所用到的jar包,應為這只是一個簡單的網路爬蟲所以很多包裡的內容沒有用到。 下面幾個包就可以了。並且要引入這些包。 主類Bigdata.javaimport org.htmlparser.util.ParserException; public

電影天堂電影資訊

今天做了一早上的爬蟲,爬去電影天堂的電影連結。使用了正則表示式。總的來說來不錯。上程式碼。已經實現的功能: 1.抓取電影釋出的日期 2.電影的名字 3.電影的年代 4.電影的產地 5.電影的類別 6:電影的字幕 目前還在考慮,需不需要這麼多的欄位。

python電影天堂網各個電影下載地址

# -*- coding:utf-8 -*- import requests from lxml import etree url="https://www.dy2018.com/html/gndy/dyzz/index.html" response=requests.ge

python電影天堂 _上

感謝哈士奇說喵 http://blog.csdn.net/MrLevo520/article/details/51966992 感謝麥子學院 麥芽老師 https://www.bilibili.com/video/av18407985/?t=3723 IDE python3

scrapy實戰電影天堂相關資訊

# encoding: utf-8 import scrapy from scrapy import Selector from scrapy import Request from pacong.items import MovieNews, Mov

python電影天堂的下載連結

電影天堂下載連結都是magnet的,搞下來想下就下沒有廣告 # coding=utf-8 import urllib.request #import requests import re import random import json #爬取電影天堂電

電影天堂電影資訊

思路:使用requests庫獲取網頁原始碼,使用BeautifulSoup解析網頁原始碼,然後使用css選擇器獲取資料原始碼:import requests from bs4 import Beauti

Python電影天堂資源

步驟一:python的下載python爬蟲,首先需要本地電腦上安裝有python。首先,進入到python官網,你可以直接輸入python主頁,也可以從百度搜索框進入到python的主頁。然後在主頁上面可以看見Downloads字樣,點選。跳轉出python下載介面,選擇一個

電影天堂並存入資料庫

程式碼具體如下: from urllib.request import urlopen from urllib.error import HTTPError from bs4 import Bea

Python利用xpath和正則re新浪新聞

今天我們來進行簡單的網路爬蟲講解:利用用from lxml import html庫+Xpath以及requests庫進行爬蟲 1.我們將爬取新浪微博首頁要聞 我們摁F12檢視網頁原始碼查詢要聞內容所對應的HTML的程式碼 通過觀察我們可以發現每個標題都在<h1 data-client

利用Python500萬以上的國產自拍小電影哦!

  宣告:本專案旨在學習Scrapy爬蟲框架和MongoDB資料庫,不可使用於商業和個人其他意圖。若使用不當,均由個人承擔。   PornHubBot PornHubBot專案主要是爬取全球最大的小電影網站PornHub的視訊標題、時長、mp4連結、封

使用python的requests、xpath和多執行緒糗事百科的段子

 程式碼主要使用的python中的requests模組、xpath功能和threading多執行緒爬取了糗事百科中段子的內容、圖片和閱讀數、段子作者的性別,年齡和頭像。 # author: aspiring import requests from lxml import

爬蟲實戰(一)——利用scrapy豆瓣華語電影

爬蟲第一個專案是爬取豆瓣華語電影,後面將對這部分資料進行分析。 本文也是發表於『運籌OR帷幄』微信公眾號的《用資料帶你瞭解電影行業—華語篇》的爬蟲介紹篇。 1. 爬取思路 在觀察了豆瓣每個影片的連結地址後,寫下了主要思路: (1)在豆瓣電影的選片頁面,篩選所有華

python爬蟲實戰:利用pyquery貓眼電影TOP100榜單內容-2

上次利用pyquery爬取貓眼電影TOP100榜單內容的爬蟲程式碼中點選開啟連結 存在幾個不合理點。1. 第一個就是自定義的create_file(檔案存在判斷及建立)函式。我在後來的python檔案功能相關學習中,發現這個自定義函式屬於重複造輪子功能。因為 for data

利用python龍虎榜數據及後續分析

登錄 one 可能 股市 .com 爬蟲 但我 由於 相關 ##之前已經有很多人寫過相關內容,但我之前並未閱讀過,這個爬蟲也是按照自己的思路寫的,可能比較醜陋,請見諒! 本人作為Python爬蟲新手和股市韭菜,由於時間原因每晚沒辦法一個個翻龍虎榜數據,所以希望借助爬蟲篩選出