标题中的英文首字母大写比较规范,但在python实际使用中均为小写。
2018年7月20日笔记
Scrapy官方文档网址:https://doc.scrapy.org/en/latest/topics/selectors.html
网页在chrome浏览器打开,经过谷歌翻译,如下图所示:
环境
IDE(Intergrated development Environment),集成开发环境为jupyter notebook和Pycharm
操作系统Win10
语言及其版本:python3.6
1.选择器
使用Selector初始化方法实例化对象赋值给response变量。
css和extract这2个方法的使用示例如下:
.//和//的区别如下图所示,一般来说要使用.//
xpath和css方法对比,按照标签属性的值来找标签,如下图所示。
2. 伯乐在线网页持久化
2.1 新建爬虫工程
打开cmd或者powershell在其中输入并运行命令,运行结果如下图所示:
新建爬虫工程命令:scrapy startproject BoleSave
进入爬虫工程目录命令: cd BoleSave,运行结果如下图所示:
新建爬虫文件命令: scrapy genspider save blog.jobbole.com,运行结果如下图所示:
2.2 在Pycharm中导入工程
导入工程的按钮位置如下图所示:
选中工程文件夹,然后点击OK,如下图所示:
工程文件夹的结构如下图所示:
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 = '