Scrapy系列一 第乙個Scrapy專案

2021-10-04 11:17:48 字數 1968 閱讀 3762

命令列切換到對應的資料夾下

執行命令scrapy startproject qidian_hot

qidian_hot是指專案名

執行完成後資料夾下會建立名為qidian_hot的資料夾

注意開啟的目錄,別開啟了下一級的qidian_hot目錄

這三個div對應內容裡的具體資訊

spiders資料夾是用來存放用於解析頁面資料的程式檔案

下圖為定位目標

定位位置為class為book-mid-info的div

圖1是主要**,圖2是div元素內對應的節點內容

切換到qidian_hot資料夾下執行命令:

scrapy crawl hot或scrapy crawl hot -o hot.csv

hot是**指定的name值(爬蟲名稱),-o hot.csv是把結果寫到當前資料夾下的hot.csv檔案(檔案會自動建立,檔名可以隨便起)

結果

整體**

from scrapy import request

from scrapy.spiders import spider

class hotsalesspider(spider):

# 爬蟲名稱

name = "hot"

#起始url列表

start_urls = [""]

#資料解析,此時response物件已經有網頁的html資料

def parse(self, response):

#使用xpath定位到**內容的div元素

list_selector = response.xpath("//div[@class='book-mid-info']")

#讀取每部**的元素

for one_selector in list_selector:

#獲取**名稱

name = one_selector.xpath("h4/a/text()").extract()[0]

#獲取作者,第乙個p標籤的第乙個a標籤的內容

author = one_selector.xpath("p[1]/a[1]/text()").extract()[0]

#獲取型別

type = one_selector.xpath("p[1]/a[2]/text()").extract()[0]

#獲取形式

form = one_selector.xpath("p[1]/span/text()").extract()[0]

#把爬取的資料儲存到字典

hot_dict =

yield hot_dict

第乙個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 這是我的用來封...

第乙個scrapy程式遇到的問題

1 no module name items 這裡可以使用框架自帶的命令操作,實驗證明不會出這種錯 這裡的spider 為爬蟲名字,baidu.com為 網域名稱。錯誤可能源於 1 import 應該為from import 2 重新命名模組,名稱衝突了 file d python3.7 lib s...