美文网首页
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