怎么用python爬虫爬取数据集_Python scrapy爬虫爬取伯乐在线全部文章,并写入数据库...

本文介绍了一个使用Python Scrapy爬虫框架爬取伯乐在线全部文章的项目,包括创建项目、定义爬虫、获取文章列表和详情页信息,如缩略图、详情URL、发布时间、点赞数等。同时,文章详细描述了如何下载图片并将其存储在imgs文件夹中,以及如何将爬取的数据异步写入MySQL数据库。
摘要由CSDN通过智能技术生成

伯乐在线爬虫项目目的及项目准备:

1.使用scrapy创建项目

2.创建爬虫,bole 域名 jobbole.com

3.Start_urls = [‘http://blog.jobbole.com/all-posts/’]

4.爬取所有页数的文章

5.文章列表页需要数据

a) 缩略图的地址

b) 详情url地址

6.详情页面要提取的数据

# 博客标题

# 博客创建时间

# 博客url

# 将url经过md5加密生成id

# 缩略图的地址

# 图片保存路径  #这个属性考虑好在哪赋值

# 点赞数

# 收藏数

# 评论数

# 博客作者

# 博客标签

7.将图片下载,保存到imgs文件夹中

8.将爬取的所有数据存储到数据库

创建项目我们在cmd中进行创建,在开始之前我们要将数据库表以及其中字段创建好。

spider爬虫代码:

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

import scrapy

import re

# ..上级目录

from ..items import BoleItem

# .同级目录

from .tools import get_number,md5

# MVC Model view controler

# 降低代码耦合性

# MVVC

# 做url地址的拼接,如果没有域名才会进行拼接

import urlparse

class BoleSpider(scrapy.Spider):

name = 'bole'

allowed_domains = ['jobbole.com']

start_urls = ['http://blog.jobbole.com/all-posts/']

def parse(self, response):

# 获取每一页的文章url和图片url

a_list = response.xpath(".//*[@id='archive']/div/div[1]/a")

for a in a_list:

# 获取博客详情页面url

# 获取博客图片的url

a_href = a.xpath("@href").extract_first('')

img_src = a.xpath("img/@src").extract_first('')

yield scrapy.Request(

url=a_href,

callback=self.parse_detail,

meta={"img_src":img_src}

)

next_page = response.xpath("//a[@class='next page-numbers']/@href").extract_first('')

if next_page:

# 发送请求,请求下一页

yield scrapy.Request(

url=next_page

)

def parse_detail(self,response):

# 博客详情地址

blog_url

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值