今天就跟大家聊聊有關(guān)python爬蟲(chóng)怎么利用spider抓取程序,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
spider抓取程序:
在貼上代碼之前,先對(duì)抓取的頁(yè)面和鏈接做一個(gè)分析:
網(wǎng)址:http://category.dangdang.com/pg4-cp01.25.17.00.00.00.html
這個(gè)是當(dāng)當(dāng)網(wǎng)圖書(shū)的鏈接,經(jīng)過(guò)分析發(fā)現(xiàn):大種類(lèi)的id號(hào)對(duì)應(yīng) cp01.25 中的25,小種類(lèi)對(duì)應(yīng)id號(hào)中的第三個(gè) 17,pg4代表大種類(lèi) —>小種類(lèi)下圖書(shū)的第17頁(yè)信息。
為了在抓取圖書(shū)信息的同時(shí)找到這本圖書(shū)屬于哪一大種類(lèi)下的小種類(lèi)的歸類(lèi)信息,我們需要分三步走,第一步:大種類(lèi)劃分,在首頁(yè)找到圖書(shū)各大種類(lèi)名稱(chēng)和對(duì)應(yīng)的id號(hào);第二步,根據(jù)大種類(lèi)id號(hào)生成的鏈接,找到每個(gè)大種類(lèi)下的二級(jí)子種類(lèi)名稱(chēng),及對(duì)應(yīng)的id號(hào);第三步,在大種類(lèi) —>小種類(lèi)的歸類(lèi)下抓取每本圖書(shū)信息。
分步驟介紹下:
1、我們繼承RedisSpider作為父類(lèi),start_urls作為初始鏈接,用于請(qǐng)求首頁(yè)圖書(shū)數(shù)據(jù)
# -*- coding: utf-8 -*- import scrapy import requests from scrapy import Selector from lxml import etree from ..items import DangdangItem from scrapy_redis.spiders import RedisSpider class DangdangSpider(RedisSpider): name = 'dangdangspider' redis_key = 'dangdangspider:urls' allowed_domains = ["dangdang.com"] start_urls = 'http://category.dangdang.com/cp01.00.00.00.00.00.html' def start_requests(self): user_agent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.22 \ Safari/537.36 SE 2.X MetaSr 1.0' headers = {'User-Agent': user_agent} yield scrapy.Request(url=self.start_urls, headers=headers, method='GET', callback=self.parse)
網(wǎng)頁(yè)標(biāo)題:python爬蟲(chóng)怎么利用spider抓取程序-創(chuàng)新互聯(lián)
標(biāo)題URL:http://chinadenli.net/article12/depegc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、網(wǎng)站營(yíng)銷(xiāo)、關(guān)鍵詞優(yōu)化、響應(yīng)式網(wǎng)站、App設(shè)計(jì)、微信公眾號(hào)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容