# -*- coding: utf-8 -*-
import scrapy
import re
class JobboleSpider(scrapy.Spider):
name = 'jobbole'
allowed_domains = ['blog.jobbole.com']
start_urls = ['http://blog.jobbole.com/all-posts/']
def parse(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
相關文章
- Python爬蟲 ---scrapy框架初探及實戰Python爬蟲框架
- scrapy爬蟲爬蟲
- 爬蟲--Scrapy簡易爬蟲爬蟲
- Python爬蟲實戰-使用Scrapy框架爬取土巴兔(一)Python爬蟲框架
- Scrapy爬蟲-草稿爬蟲
- Scrapy爬蟲框架爬蟲框架
- Python3 大型網路爬蟲實戰 — 給 scrapy 爬蟲專案設定為防反爬Python爬蟲
- 爬蟲(9) - Scrapy框架(1) | Scrapy 非同步網路爬蟲框架爬蟲框架非同步
- 爬蟲實戰爬蟲
- scrapy爬蟲代理池爬蟲
- Python學習筆記——爬蟲之Scrapy專案實戰Python筆記爬蟲
- 網路爬蟲——爬蟲實戰(一)爬蟲
- Python Scrapy 爬蟲(二):scrapy 初試Python爬蟲
- scrapy之分散式爬蟲scrapy-redis分散式爬蟲Redis
- Scrapy框架的使用之Scrapy通用爬蟲框架爬蟲
- scrapy + mogoDB 網站爬蟲Go網站爬蟲
- 爬蟲框架-scrapy的使用爬蟲框架
- python爬蟲Scrapy框架Python爬蟲框架
- Scrapy爬蟲框架的使用爬蟲框架
- 【Python篇】scrapy爬蟲Python爬蟲
- Python爬蟲—Scrapy框架Python爬蟲框架
- Scrapy建立爬蟲專案爬蟲
- Scrapy之"並行"爬蟲並行爬蟲
- Scrapy 示例 —— Web 爬蟲框架Web爬蟲框架
- 初識Scrapy框架+爬蟲實戰(7)-爬取鏈家網100頁租房資訊框架爬蟲
- scrapy-redis實現爬蟲分散式爬取分析與實現Redis爬蟲分散式
- Puppeteer爬蟲實戰(三)爬蟲
- 爬蟲技術實戰爬蟲
- Python 爬蟲實戰Python爬蟲
- 爬蟲利器 Puppeteer 實戰爬蟲
- python網路爬蟲(14)使用Scrapy搭建爬蟲框架Python爬蟲框架
- 爬蟲 Scrapy框架 爬取圖蟲圖片並下載爬蟲框架
- Python爬蟲教程-30-Scrapy 爬蟲框架介紹Python爬蟲框架
- 爬蟲(14) - Scrapy-Redis分散式爬蟲(1) | 詳解爬蟲Redis分散式
- 爬蟲學習之基於Scrapy的網路爬蟲爬蟲
- Python爬蟲-用Scrapy框架實現漫畫的爬取Python爬蟲框架
- scrapy定製爬蟲-爬取javascript內容爬蟲JavaScript
- Java 爬蟲專案實戰之爬蟲簡介Java爬蟲