美文网首页
SDN技术图片爬取

SDN技术图片爬取

作者: kevin_c_yang | 来源:发表于2017-02-12 23:11 被阅读0次

    写爬虫小程序的动机是当我上网浏览到 http://mp.weixin.qq.com/s?__biz=MjM5MTM3MzIzMg==&mid=209513316&idx=1&sn=e5dbd9a2ccccb88d0ee5c4d5790699c1#rd 里面的SDN内容时希望保存所有图片在本地,手动保存很机械化,于是用爬虫来完成。

    我使用的是scrapy

    一、环境搭建

    1、python3安装   https://www.python.org/downloads/windows/ 找到安装包下载安装,在DOS命令行界面输入python成功即可。

    2、在命令行界面输入

    python -m pip install --upgrade pip 升级pip安装工具

    直接 pip install wheel(网络安装)

    手动下载好.whl文件(手动安装)

    进入到目录下

    C:\WINDOWS\system32>f:

    F:\>cd环境搭建

    pip install lxml-3.6.4-cp35-cp35m-win_amd64.whl

    剩余依次安装

    二、创建爬虫项目文件

    scrapy startproject fst1

    创建一个爬虫项目,当前目录下会新建爬虫项目文件

    cd fst1

    打开文件夹

    scrapy genspider -t basic name(自定爬虫文件名) domain.name(爬取网页的域名)

    该方法可以使用提前定义好的模板来生成spider

    使用任意IDE打开该项目,我使用的是pycharm。

    三、代码编写

    定义items.py

    先定义items,这里相当于定义一个个容器用于装爬取到的内容

    classFst1Item(scrapy.Item):

    # define the fields for your item here like:

    # name = scrapy.Field()

    sdnpicture = scrapy.Field()

    这里的sdnpicture就是用来装抓取到的sdn图片

    设置settings.py

    相应的反爬机制(不遵循robots协议、模拟成浏览器user-agent、不记录cookie)

    设置中ctrl+f可以快捷查找你要修改的内容

    不遵循robots协议 不记录cookie user-agent 浏览器代理可以打开一个浏览器找到 启用piplines.py,注意这里的名字要修改和pipelines.py中一样

    编写爬虫文件

    就是spiders文件夹下的刚才你命名的文件

    这里的item["sdnpicture"]就是把抓取到的图片装到刚才定义的容器中
    后面的内容是XPATH表达式,这里简单讲解下:

    /从最开始提取标签,按照目录的层次

    text()提取标签中文本内容

    /html/head/title/text()

    //寻找所有的标签

    //link所有的link标签

    @提取属性

    @rel

    //div[@class='abc']

    标签[@属性=属性值]

    也可以查看详解,访问 http://www.w3school.com.cn/xpath/xpath_syntax.asp

    编写爬虫后续操作文件pipelines.py

    四、执行爬虫

    C:\Python开发\crawl\fst1>scrapy crawl sdn --nolog

    爬取到的图片

    完成

    相关文章

      网友评论

          本文标题:SDN技术图片爬取

          本文链接:https://www.haomeiwen.com/subject/xgxzittx.html