打开cmd,cd到E盘(也可以是你自己选择的任何一个文件夹下),:
scrapy startproject mySpider
会建立这样的文件目录
用pycharm打开项目,目录结构展示如下:
这些文件的作用如下:
mySpider/: 项目的Python模块,将会从这里引用代码。
mySpider/spiders/: 存储爬虫代码目录。
mySpider/__init__.py: 初始化文件。
mySpider/items.py: 项目的目标文件。
mySpider/middlewares.py: 中间件。
mySpider/pipelines.py: 项目的管道文件。
mySpider/settings.py: 项目的设置文件。
scrapy.cfg: 项目的配置文件。
external libraries和scratches and consoles不用管,每个python项目都有
打开cmd,cd到mySpider/spiders下,设置我们的爬虫:
scrapy genspider taobao "www.taobao.com"
其中taobao就是爬虫名字,"www.taobao.com"是我们要爬取的域名。
当然你也可以直接新建taobao.py文件并自行编写相关代码。
接下来就是编写parse函数,我们一般会先判断是否能抓取到目标网页中某个元素的信息,借助Xpath Helper,我们在终端输入:
scrapy shell "完整的url"
response.xpath("目标元素的xpath表达式")
or
response.xpath("目标元素的xpath表达式")[0].extract()
例子:
scrapy shell "https://www.taobao.com/"
response.xpath("//title")
"//title"这句话,是xpath表达式,通过Xpath Helper在目标网页上获取的.
关于如何获取到想要的元素,需要百度一下xpath表达式
发现可以获取得到结果,接下来就可以写parse函数了
class TaobaoSpider(scrapy.Spider):
name = 'taobao'
allowed_domains = ['www.taobao.com']
start_urls = ['http://www.taobao.com/']
def parse(self, response):
title =response.xpath("//title/text()").extract()
print(title)
不同的xpath表达式可以获取到不同的信息,我这里只是以最简单的举个例子,更过功能有待继续探索。