1.在终端创建scrapy程序,输入以下代码:
scrapy startproject ArticleSpider
cd ArticleSpeder
scrapy genSpider jobbole blog.jobbole.com(第一个jobbole为创建的名字,第二个为起始搜索的url)
2.学会在pycharm debug 程序,在主目录下建立一个main文件
from scrapy.cmdline import execute
import sys
import os
sys.path.append(os.path.dirname(os.path.abspath(__file__))) --__file__指的是当前文件,abspath获得是绝对路径,dirname获得是上一级路径
execute(['scrapy','crawl','jobble']) (在终端则是输入scrapy crawl jobbole)一样的
在settings.py中找到,并把true 改成False(关闭robots协议)
ROBOTSTXT_OBEY = False
可以在scrapy 调试
3.xpath采取指定的数据(通过浏览器自带的选择器)
response.xpath(“....”)-了解为什么不同浏览器相同位置的xpath不一样,源码与浏览器查的xml区别,因为浏览器网页会产生其他内容
4.提高验证xpath效率,在shell脚本下(目录在scrapy创建的文件下),在终端输入
scrapy shell 网址
如何只提取文本内容,只需
response.xpath('/text()').extract(). --extract()返回一个数组
如何去除换行符及空格 替换字符
.strip(). .replace('old','new')
如何在搜索部分关键字就可以查找xpath. 用contains函数
response.xpath('//span[contains(@class,'vote')]')
4.运用正则表达式选取合适的数据
import re
re1=re.match('正则表达式',‘获取原数据’)用match函数
5.多个元素组成数组采取特定的标志结尾的元素。采用遍历数组循环
[x for x in List if x.endswith('汉字')] --endswith函数