基于Scrapy爬取伯乐在线网站

这篇博客介绍了如何使用Scrapy爬虫框架抓取伯乐在线网站的内容,并进行持久化存储。博主详细讲解了从创建Scrapy项目,配置选择器,到解析网页,保存数据到MySQL数据库的过程,包括数据库连接池的使用,以提高效率。同时,提供了遇到问题的解决方案,如处理图片URL过长的情况。
摘要由CSDN通过智能技术生成

标题中的英文首字母大写比较规范,但在python实际使用中均为小写。
2018年7月20日笔记
Scrapy官方文档网址:https://doc.scrapy.org/en/latest/topics/selectors.html
网页在chrome浏览器打开,经过谷歌翻译,如下图所示:

图片.png-90.6kB

环境

IDE(Intergrated development Environment),集成开发环境为jupyter notebook和Pycharm
操作系统Win10
语言及其版本:python3.6

1.选择器

使用Selector初始化方法实例化对象赋值给response变量。
css和extract这2个方法的使用示例如下:


图片.png-8.2kB

.//和//的区别如下图所示,一般来说要使用.//


图片.png-9.3kB

xpath和css方法对比,按照标签属性的值来找标签,如下图所示。
图片.png-13kB

2. 伯乐在线网页持久化

2.1 新建爬虫工程

打开cmd或者powershell在其中输入并运行命令,运行结果如下图所示:
新建爬虫工程命令:scrapy startproject BoleSave

图片.png-7.7kB

进入爬虫工程目录命令: cd BoleSave,运行结果如下图所示:
图片.png-11.8kB

新建爬虫文件命令: scrapy genspider save blog.jobbole.com,运行结果如下图所示:
图片.png-12.8kB

2.2 在Pycharm中导入工程

导入工程的按钮位置如下图所示:


图片.png-25.6kB

选中工程文件夹,然后点击OK,如下图所示:


图片.png-15.3kB

工程文件夹的结构如下图所示:
图片.png-4.8kB

2.3 编辑save.py文件

网页持久化只需要编辑爬虫文件就可以,下面是save.py文件的代码。
第21行dirName变量的值可以设置网页文件保存的位置,例如:
dirName = "d:/saveWebPage"将网页文件保存在D盘的saveWebPage文件夹中。
可以根据个人情况进行修改,不建议将其设置为工程所在文件夹,因为可能导致Pycharm卡顿。

# -*- coding: utf-8 -*-
import scrapy
import os
import re

def reFind(pattern,sourceStr,nth=1):
    if len(re.findall(pattern,sourceStr)) >= nth:
        return re.findall(pattern,sourceStr)[nth-1]
    else:
        return 1

class SaveSpider(scrapy.Spider):
    name = '
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值