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

2021-07-03 07:54:38 字數 1878 閱讀 6078

目標:使用scrapy抓取豆瓣小組的組名

新建工程資料夾,命令列cd到該目錄下,用下面的命令新建乙個scrapy工程

scrapy startproject dmoz

新建好的工程目錄結構為:

e:\python workspace\douban

│ scrapy.cfg

└─douban

│ items.py

│ pipelines.py

│ settings.py

│ __init__.py

└─spiders

__init__.py

簡要說下幾個檔案,

- items:用來定義要抓取的內容;

- pipelines:用來對內容進行處理,包括過濾、輸出等;

- setting:不用說了,配置檔案

item當然是在items.py裡定義了,我們只抓取小組的名稱,因此定義乙個groupname就可以了,很簡單

from scrapy.item import item, field

class

doubanitem

(item):

groupname = field

()

這裡定義pipeline是將獲取到的組名輸出到檔案,由於預設輸出是unicode碼,轉換為中文需要再處理下。

import codecs

import json

class

doubanpipeline

(object):

def__init__

(self):

self.file = codecs.open('data.json', 'wb', encoding="utf-8")

defprocess_item

(self, item, spider):

line = json.dumps(dict(item))

self.file.write(line.decode("unicode_escape")+"\r\n")

return item

這是爬蟲的主體了,在spiders資料夾下新建乙個python檔案「groupspider.py」,先看內容吧

# coding=utf-8

__author__ = 'jeffee chen'

from scrapy.contrib.spiders import crawlspider

from douban.items import doubanitem

class

groupspider

(crawlspider):

name = "douban"

allowed_domains = ["douban.com"]

start_urls = [""]

defparse

(self, response):

item = doubanitem()

sel = response.xpath("//div[@class='group-list']/div[@class='result']")

for s in sel:

item["groupname"] = s.xpath("div[@class='content']/div[@class='title']/h3/a/text()").extract()

yield item

最後乙個引數就是我們的spider檔案中定義的name,根據pipelines的定義,抓取到的資料被輸出到根目錄下的data.json檔案

第乙個scrapy爬蟲

我們要爬取的是讀書網裡面的書名,作者,和對書的描寫 首先我們要定義爬取資料的模型,在items.py檔案中 import scrapy class moveitem scrapy.item 定義爬取的資料的模型 title scrapy.field auth scrapy.field desc sc...

scrapy 我的第乙個scrapy爬蟲

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

第乙個爬蟲

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