爬蟲實戰scrapy

2021-09-24 07:10:43 字數 2419 閱讀 4557

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

import scrapy

import re

class

jobbolespider

(scrapy.spider):

name = 'jobbole'

allowed_domains = ['blog.jobbole.com']

start_urls = ['']

defparse

(self, response):

url_list = response.css('div.post-meta p a.archive-title::attr(href)').extract()

# url_list = response.xpath("//div[@class='post-meta']/p/a[@class='archive-title']/@href").extract()

# url_list = response.xpath("//a[@class='archive-title']/@href").extract()

# xpath

# 注意在用屬性選擇器的時候盡量選擇class屬性,因為id屬性選擇器可擴充套件性不強

# 即id選擇器只對當前頁有效,對其他頁面可能就沒有這個id,就可能報錯

# //*[@id="post-113735"]/div[1]

# 獲取標題

title = response.xpath("//div[@class='entry-header']/h1/text()").extract()[0]

# 獲取日期

crat_time = response.xpath('//p[@class="entry-meta-hide-on-mobile"]/text()').extract()[0]

# 刪除空白字元

crat_time = crat_time.strip()

# 刪除點

crat_time = crat_time.strip('·')

# 刪除空白字元

crat_time =crat_time.strip()

# 獲取關鍵字標籤

biao_qian = response.xpath("//p[@class='entry-meta-hide-on-mobile']/a/text()").extract()

# biao_qian = response.css("p.entry-meta-hide-on-mobile a::text")

if biao_qian:

biao_qian = ','.join(biao_qian)

else:

biao_qian = ''

# 獲取點讚數

dian_zan = response.xpath('//span[@class=" btn-bluet-bigger href-style vote-post-up register-user-only "]/h10/text()').extract()[0]

# 收藏數

shou_cang = response.xpath('//span[@class=" btn-bluet-bigger href-style bookmark-btn register-user-only "]/text()').extract()[0]

ret = re.match(r'.*?(\d+).*?', shou_cang)

if ret:

shou_cang = int(ret.group(1))

else:

shou_cang = 0

comment = response.xpath('//span[@class="btn-bluet-bigger href-style hide-on-480"]/text()').extract()[0]

# re.findall得到的是列表

comment = re.findall(r'.*(\d).*?', comment)

if comment:

comment = int(comment[0])

else:

comment = 0

# 以下是運用css 選擇器提取資料

# 獲取文章內容

# bood_commemt = response.css("div.entry").extract()[0]

# 獲取標題

# title_css = response.css(".entry-header h1::text").extract()[0]

# 獲取日期

# crat_time_css = response.css("p.entry-meta-hide-on-mobile::text").extract()[0].strip().strip('·').strip()

pass

複製**

scrapy爬蟲實戰 抓取NBA吧的內容

6 debug 7 資料存入資料庫 進入之前以及搭建好的虛擬環境 在anaconda的shell中輸入下面格式 scrapy shell 要爬取的 進入貼吧頁面的開發者模式 在瀏覽器上按f12 分析標籤 再次進入shell檢視需要的資料,同時觀察資料特徵 頁面中帖子的url位址 url list r...

scrapy爬蟲框架

作者經過幾周的python爬蟲實踐之後,深入學習了一下scrapy這個爬蟲框架,現將一些基本知識和 總結整理一下,以備後查。2.scrapy的命令列使用 這部分網上很多部落格都有總結,不需要背,理解會用主要的命令 startproject crawl fetch list genspider.即可,...

scrapy 爬蟲框架

1.安裝 公升級pip版本 pip install upgrade pip 通過pip安裝scrapy框架 pip install scrapy 安裝成功 只執行scrapy 進行測試是否安裝成功 2.scrapy startproject 爬蟲專案名稱 執行此命令,可以生成乙個爬蟲專案 會預先生成...