電影天堂迅雷(Python爬蟲框架:scrapy爬取迅雷電影天堂最新電影ed2k)

時間:2024-11-07 12:22:47 閱讀:5

Python爬蟲框架:scrapy爬取迅雷影戲天國最新影戲ed2k

項目開頭

第一步仍舊是創建scrapy項目與spider文件

切換到事情目次兩條下令依次輸入

scrapy startproject xunleidianying scrapy genspider xunleiBT https://www.xl720.com/thunder/years/2019

內容分析

掀開目標網站(分類是2019年上映的影戲),分析我們必要的數據

進入頁面是列表的情勢就像豆瓣影戲一樣,然后我們點進入具體頁面看看

這個頁面就是我們必要拿到的內容頁面,我們來看我們必要哪些數據(某些數據從第一個頁面就可以取得,但是下載地點必需到第二個頁面)

  • 影戲稱呼
  • 影戲信息
  • 影戲內容劇情
  • 影戲下載地點

分析完成之后就可以起首編寫 items.py文件

import scrapy ''' 更多Python學習材料以及源碼教程材料,可以在群821460695 無償獲取 ''' class XunleidianyingItem(scrapy.Item): # define the fields for your item here like: # name = scrapy.Field() name = scrapy.Field() information = scrapy.Field() content = scrapy.Field() downloadurl = scrapy.Field() pass

別的別忘了去settings.py中開啟 ITEM_PIPELINES 選項

爬蟲文件編寫

老樣子,為了便利測試我們的爬蟲,起首編寫一個main.py的文件便利IDE調用

main.py:

import scrapy.cmdline scrapy.cmdline.execute('scrapy crawl xunleiBT'.split())

起首我們先測試直接向目標發送哀求對否可以取得呼應

爬蟲文件 xunleiBT.py編寫如下:

# -*- coding: utf-8 -*- import scrapy class XunleibtSpider(scrapy.Spider): name = 'xunleiBT' allowed_domains = ['https://www.xl720.com/thunder/years/2019'] start_urls = ['https://www.xl720.com/thunder/years/2019/'] def parse(self, response): print(response.text) pass

運轉 main.py 看看會顯現什么

好的,發覺直接前往正常的網頁也就是我們要的網頁,分析該網站沒有反爬機制,如此我們就更容易爬取了

然后經過xpath定位頁面元素,具體就不再贅述,之前的scarpy教程中都有 持續編寫爬蟲文件

import scrapy #導入編寫的 item from xunleidianying.items import XunleidianyingItem ''' 更多Python學習材料以及源碼教程材料,可以在群821460695 無償獲取 ''' class XunleibtSpider(scrapy.Spider): name = 'xunleiBT' allowed_domains = ['www.xl720.com'] start_urls = ['https://www.xl720.com/thunder/years/2019/'] def parse(self, response): url_list = response.xpath('//h3//@href').getall() for url in url_list: yield scrapy.Request(url,callback=self.detail_page) nextpage_link = response.xpath('//a[@class="nextpostslink"]/@href').get() if nextpage_link: yield scrapy.Request(nextpage_link, callback=self.parse) def detail_page(self,response): # 牢記item帶括號 BT_item = XunleidianyingItem() BT_item['name'] = response.xpath('//h1/text()').get() BT_item['information'] = ''.join(response.xpath('//div[@id="info"]//text()').getall()) BT_item['content'] = response.xpath('//div[@id="link-report"]/text()').get() BT_item['downloadurl'] = response.xpath('//div[@class="download-link"]/a/text() | //div[@class="download-link"]/a/@href').getall() yield BT_item

ITEM爬取完成后該干什么?固然是入庫保存了,編寫pipelines.py文件舉行入庫保存

再次提示別忘了去settings.py中開啟 ITEM_PIPELINES 選項

pipelines.py文件代碼如下:

import pymongo #毗連當地數據庫 myclient = pymongo.MongoClient("mongodb://localhost:27017/") #數據庫稱呼 mydb = myclient["movie_BT"] #數據表稱呼 mysheet = mydb["movie"] ''' 更多Python學習材料以及源碼教程材料,可以在群821460695 無償獲取 ''' class XunleidianyingPipeline(object): def process_item(self, item, spider): data = dict(item) mysheet.insert(data) return item

再次運轉main.py 等候運轉完成后掀開數據庫查詢

數據保存完成,這次我們一共導入了380個數據,可以愉快的查察影戲了

版權聲明:本文來自互聯網整理發布,如有侵權,聯系刪除

原文鏈接:http://m.avtt22014.comhttp://m.avtt22014.com/wangluozixun/54880.html


Copyright ? 2021-2022 All Rights Reserved 備案編號:閩ICP備2023009674號 網站地圖 聯系:dhh0407@outlook.com

主站蜘蛛池模板: 女人被免费视频网站| swag剧情系列在线观看| 97成人在线视频| 色哟哟www网站| 日本三级吃奶乳视频在线播放| 在线观看免费亚洲| 四虎8848精品永久在线观看| 五月天婷婷在线观看视频| www.精品国产| 男人j桶进女人p无遮挡免费观看 | 狠狠色噜噜狠狠狠狠98| 最近免费中文字幕大全高清10| 天天做天天摸天天爽天天爱| 啦啦啦www免费视频| 中国speakingathome宾馆学生| 香蕉一区二区三区观| 欧美人与牲动交xxxx| 国内免费在线视频| 亚洲成人一级电影| www.色日本| 波多野结衣不打码视频| 国产精品美女久久久| 亚洲人成精品久久久久| 99久久综合久中文字幕| 精品久久久久久亚洲| 无码专区aaaaaa免费视频| 国产成人A亚洲精V品无码| 亚洲国产激情在线一区| 99精品国产在热久久| 精品久久久无码人妻中文字幕豆芽| 日本少妇高潮喷水xxxxxxx| 国产手机精品一区二区| 久久久久亚洲av无码去区首| 精品在线观看免费| 处处吻动漫免费观看全集| 亚洲国产精品一区二区成人片国内| 激情综合五月天| 无码人妻一区二区三区免费视频| 免费黄色福利视频| 中文字幕丰满乱孑伦无码专区| 超清中文乱码字幕在线观看|