Python Scrapy框架搭建

安装环境

安装python3,下载地址:https://www.python.org/downloads/

开发工具

工具使用pycharm,下载地址:https://www.jetbrains.com/pycharm/?fromMenu

python基础

python基础教程,掌握python简单语法

在windows 环境下安装 Scrapy

1.直接使用指令pip install scrapy,发现有诸多错误

Failed building wheel for lxml

Microsoft Visual C++ 14.0 is required

Failed building twisted

Unable to find vcvarsall.bat

2.解决方案:

在网站: http://www.lfd.uci.edu/~gohlke/pythonlibs 中寻找对应的Python版本库

我的Python版本为:Python 3.6.4-64bit。

登录后搜索: Lxml,Twisted,Scrapy 下载对应的版本

使用 pip install [文件名称]

这里不一一演示了,每个人的情况都会有区别,反正根据错误提示寻找到对应到文件安装就行。

创建Scrapy项目

新建一个工程:

scrapy startproject [项目名称]

例:scrapy startproject tmall

构建爬虫:

scrapy genspider [脚本名称] [网址]

例: scrapy genspider product tmall.com

注:一个工程中可以存在多个spider, 但是名字必须唯一

使用pycharm打开项目

项目结构:

tmall/
scrapy.cfg            # 部署配置文件
tmall/             # Python模块,代码写在这个目录下
    __init__.py

    items.py          # 项目项定义文件

    pipelines.py      # 项目管道文件

    settings.py       # 项目设置文件

    spiders/          # 我们的爬虫/蜘蛛 目录
        __init__.py
        product.py    # 爬虫脚本

product.py脚本内容:

import scrapy
class ProductSpider(scrapy.Spider):
    name = 'product'

def start_requests(self):
    urls=['http://www.tmall.com']
    for url in urls:
        yield scrapy.Request(url=url,callback=self.parse)

def parse(self, response):
    filename = 'tmall.html'
    with open(filename,'wb') as f:
        f.write(response.body)
        self.log('Saved file' % filename)

运行爬虫

进入项目根目录:

cd tmall

执行爬虫:

scrapy crawl product

或者编写一个debug.py的脚本:

from scrapy.cmdline import execute
execute("scrapy crawl product".split())

执行后,项目根目录会生成一个名为:tmall.html的文件 这个文件就是爬虫抓取的网页内容

注意:

1、scrapy爬虫出现Forbidden by robots.txt

解决方案:

关闭scrapy自带的ROBOTSTXT_OBEY功能,在setting找到这个变量,并设置为False。

2、缺少win32api包

ModuleNotFoundError: No module named 'win32api'

解决方案:

pip install pypiwin32

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值