Python資料採集之Scrapy框架

2021-08-02 07:12:01 字數 2253 閱讀 9380

scrapy是乙個快速的螢幕抓取web抓取框架,用於抓取web站點並從頁面中提取結構化的資料。scrapy用途廣泛,可以用於資料探勘輿情監測自動化測試

下面以圖書**為例,編寫乙個簡單的scrapy爬蟲。

首先我們要建立乙個scrapy工程,在dos命令列下cd切換到你將要建立工作的目錄下,使用scrapy startprojrect 命令,如下所示:

scrapy startproject bookspider
scrapy 工程目錄如下圖所示:

在編寫爬蟲程式之前,我們首先對待爬取頁面進行分析,帶爬取頁面**為:

(1)定位待爬取資訊位置:

下面就開始編寫爬蟲程式,在工程專案中spider目錄下新建bookspider.py源**如下所示:

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

"""created on fri jun 8 14:26:12 2017

@author: administrator

"""import scrapy

class

bookspider

(scrapy.spider):

#name屬性,每乙個爬蟲的唯一標識

name = "books"

#定義爬蟲的起始點,可以為多個

start_urls = ['']

defparse

(self,response):

''' 目標:提取書籍資訊

分析:因為該網頁每一本書的資訊都是在中,

因此,我們使用css()方法,找到所有這樣的article元素,並依次迭代

'''for book in response.css('article.product_pod'):

#書名在article > h3 > a 元素的title屬性裡.

name = book.xpath('./h3/a/@title').extract_first()

#書價資訊在的text中.

price = book.css('p.price_color::text').extract_first()

yield

''''''

nextpage = response.css('ul.pager li.next a::attr(href)').extract_first()

if nextpage:

nextpage = response.urljoin(nextpage)

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

在剛才新建的scrapy工程目錄執行爬蟲books,並將資料匯入books.csv檔案中。

執行結果如下圖所示:

資料檔案book.csv部分資料情況如下圖所示:

python爬蟲之xpath資料採集

使用方式有兩種 1.最基本的lxml解析方式 from lxml import etree doc etree.parse exsample.html 2.另一種 from lxml import html text requests.get url text ht html.fromstring ...

python 資料採集入門

1.配置環境 安裝python,urllib,beautifulsoup4.pip是python的安裝程式。驗證安裝是否成功 beautifulsoup4 安裝beautifulsoup4 linux sudo apt get install python bs4 mac sudo easy ins...

Python網路資料採集

from urllib.request import urlopen from bs4 import beautifulsoup import re pages set defgetlinks pageurl global pages html urlopen pageurl bsobj beaut...