文章摘要:
Python Scrapy 的安装、创建项目、爬虫入门
error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools -> 解决方案
exceptions.ImportError: No module named win32api -> 解决方案
一、安装 Scrapy
运行命令:
pip install scrapy
error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools
解决方案:
http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted 下载 twisted 对应版本的 whl 文件
(如我的 Twisted-17.9.0-cp36-cp36m-win32.whl),cp后面是 python 版本,win32代表 32 位,win_amd64代表 64 位
运行命令:
pip install C:\Users\Unnamed\Desktop\Twisted-17.9.0-cp36-cp36m-win32.whl
其中 install 后面为下载的 whl 文件的完整路径名
安装完成后,再次运行:
运行命令:
pip install Scrapy
即可成功。
二、基本使用
1、创建项目
运行命令:
scrapy startproject project_name
命令说明:在当前 cmd 指定目录下创建项目
目录结构、文件说明:
project_name / | — scrapy.cfg:项目的配置信息,主要为Scrapy命令行工具提供一个基础的配置信息。 | — project_name / | — | — __init__.py | — | — items.py:设置数据存储模板,用于结构化数据,如:Django的Model | — | — pipelines.py:数据处理行为,如:一般结构化的数据持久化 | — | — settings.py:设置文件,如:递归的层数、并发数,延迟下载等 | — | — spiders /: 爬虫目录,如:创建文件,编写爬虫规则 | — | — | — __init__.py | — | — | — ...
2、爬虫入门
先进入项目目录,运行命令:
cd project_name
创建爬虫脚本,运行命令:
scrapy genspider example example.com
示例代码 OPEN:
# -*- coding: utf-8 -*- # 变量 name: 用于区别Spider。 该名字必须是唯一的,您不可以为不同的Spider设定相同的名字。 # 变量 start_urls: 包含了Spider在启动时进行爬取的url列表。 因此,第一个被获取到的页面将是其中之一。 后续的URL则从初始的URL获取到的数据中提取。 # parse() 是spider的一个方法。 被调用时,每个初始URL完成下载后生成的 Response 对象将会作为唯一的参数传递给该函数。 该方法负责解析返回的数据(response data),提取数据(生成item)以及生成需要进一步处理的URL的 Request 对象。 import scrapy class ExampleSpider(scrapy.Spider): name = 'example' allowed_domains = ["mmonly.cc"] start_urls = [ "http://www.mmonly.cc/ktmh/dmmn/136697.html", ] def parse(self, response): with open("1.txt", 'wb') as f: f.write(response.body) pass
:END 示例代码
运行命令:
scrapy crawl example --nolog
exceptions.ImportError: No module named win32api
解决方案:
windows系统上出现这个问题的解决需要安装Py32Win模块,但是直接通过官网链接装exe会出现几百个错误,更方便的做法是
运行命令:
pip install pypiwin32
再次运行命令:
scrapy crawl example --nolog
成功!完美运行!!
本文部分资料引用以下地址:
http://blog.csdn.net/u013687632/article/details/57075514
http://scrapy-chs.readthedocs.io/zh_CN/0.24/intro/tutorial.html#item
http://python.jobbole.com/86405/
相关文章:
http://blog.xx21.cn/?id=6 【Scrapy】 Python Scrapy 学习笔记(一)
http://blog.xx21.cn/?id=7 【Scrapy】 Python Scrapy 学习笔记(二)