Scrapy爬蟲爬取電影天堂

2021-10-03 14:15:19 字數 2554 閱讀 4197

目標**:

建立專案:scrapy startproject 《爬蟲專案檔案的名字》

生成 crawlspider 命令:scrapy genspider -t crawl 《爬蟲名字》 《爬蟲網域名稱》

終端執行:scrapy crawl 《爬蟲的名字》

python操作mysql資料庫操作:

爬蟲檔案

# -*- coding: utf-8 -*-

import scrapy

from scrapy.linkextractors import linkextractor

from scrapy.spiders import crawlspider, rule

import re

class

dyspider

(crawlspider)

: name =

'dy'

allowed_domains =

['www.dytt8.net'

] start_urls =

['/'

] rules =

( rule(linkextractor(allow=r'dytt8\.net/html/gndy/dyzz/\d+/\d+\.html'

), callback=

'parse_item'),

)def

parse_item

(self, response)

: item =

item[

'title'

]= response.xpath(

'//div[@class="title_all"]/h1/font/text()'

).get(

) item[

'datetime'

]= response.xpath(

'//div[@class="co_content8"]/ul/text()'

).get(

) item[

'datetime'

]= re.sub(

'\r\n',''

, item[

'datetime'])

item[

'download'

]= response.xpath(

'//div[@class="co_area2"]//tbody//td/a/@href'

).get(

)yield item

pipelines.py 管道檔案

# -*- coding: utf-8 -*-

# define your item pipelines here

## don't forget to add your pipeline to the item_pipelines setting

# see:

import pymysql

class

moviespipeline

(object):

def__init__

(self)

: self.db = pymysql.connect(

'127.0.0.1'

,'root'

,'root'

,'spider'

) self.cursor = self.db.cursor(

)def

process_item

(self, item, spider)

: sql =

'create table if not exists movies (title varchar (255) not null ,datetime varchar (255) not null , download varchar (255) not null )'

sql_insert =

'insert into movies(title, datetime, download) value (%s, %s, %s)'

args =

(item[

'title'

], item[

'datetime'

], item[

'download'])

self.cursor.execute(sql)

self.cursor.execute(sql_insert, args)

return item

defclose_spider

(self, spider)

: self.db.commit(

) self.db.close(

)

執行結果:

爬取電影天堂

分析每頁的url,可以得到規律是 第t頁的url為 於是可以先分析第一頁,然後對頁數進迴圈,就可得到所有最新電影的詳細資訊。from lxml import etree headers defget movie url url resp requests.get url,headers header...

python爬蟲 爬取電影天堂連線

import requests,re,chardet,pymysql from piaot import def shoye url headers req requests.get url,headers headers req.encoding gb2312 html req.text 正則 z...

scrapy爬取迅雷電影天堂最新電影ed2k

幾天沒用scrapy爬 了,正好最近在刷電影,就想著把自己常用的乙個電影分享 給爬取下來儲存到本地mongodb中 第一步仍然是建立scrapy專案與spider檔案 切換到工作目錄兩條命令依次輸入 開啟目標 分類是2019年上映的電影 分析我們需要的資料 進入頁面是列表的形式就像豆瓣電影一樣,然後...