第乙個scrapy爬蟲

2021-08-20 12:57:33 字數 1889 閱讀 8209

我們要爬取的是讀書網裡面的書名,作者,和對書的描寫

首先我們要定義爬取資料的模型,在items.py檔案中

import scrapy 

class

moveitem

(scrapy.item):

# 定義爬取的資料的模型

title = scrapy.field

() auth = scrapy.field

() desc = scrapy.field

()

主要的還是spiders目錄下的move.py檔案

import scrapy

from douban.items import moveitem

class

moviespider

(scrapy.spider):

# 表示蜘蛛的名字,每個蜘蛛的名字必須是唯一的

name = 'movie'

# 表示過濾爬取的網域名稱

allwed_domians = ['dushu.com']

# 表示最初要爬取的url

start_urls = ['']

defparse

(self,response):

li_list = response.xpath('/html/body/div[6]/div/div[2]/div[2]/ul/li')

for li in li_list:

item = moveitem()

item['title'] = li.xpath('div/h3/a/text()').extract_first()

item['auth'] = li.xpath('div/p[1]/a/text()').extract_first()

item['desc'] = li.xpath('div/p[2]/text()').extract_first()

# 生成器

yield item

href_list = response.xpath('/html/body/div[6]/div/div[2]/div[3]/div/a/@href').extract()

for href in href_list:

# 把在頁面上爬取的url補全

url = response.urljoin(href)

# 乙個生成器,response的裡面鏈結,再進行子request,不斷執行parse,是個遞迴。

yield scrapy.request(url=url,callback=self.parse)

想要持久化資料只有把資料儲存起來:在settings.py檔案裡設定

在pipelines.py檔案裡:

import pymongo

class

doubanpipeline

(object):

def__init__

(self):

self.mongo_client = pymongo.mongoclient('mongodb:')

defprocess_item

(self, item, spider):

db = self.mongo_client.data

message = db.messages

message.insert(dict(item))

return item

scrapy 我的第乙個scrapy爬蟲

import scrapy from scrapy.linkextractors import linkextractor linkextractor是用來指定頁面提取規則的extract links 是用來獲取連線的 from items import baiduyueduitem 這是我的用來封...

scrapy爬蟲起步(1) 第乙個爬蟲程式

目標 使用scrapy抓取豆瓣小組的組名 新建工程資料夾,命令列cd到該目錄下,用下面的命令新建乙個scrapy工程 scrapy startproject dmoz 新建好的工程目錄結構為 e python workspace douban scrapy.cfg douban items.py p...

第乙個爬蟲

很多人學習python的目的就是為了學習能夠實現爬蟲的功能,這裡,我使用了scrapy框架來實現了乙個簡單的爬蟲功能,這裡我簡單的介紹一下scrapy專案的建立,和執行。1,第一步是安裝scrapy,我相信到了這一步,大多數人都已經會安裝第三方庫檔案了,這裡主要是使用命令pip install sc...