创建项目
scrapy startproject <project-name>
在命令行输入以上命令就可以创建一个scrapy项目,然后进入你的项目根目录,找到items.py然后我们来定义一些item对象。
定义item
#items.py
#-*-coding:utf-8-*-
import scrapy
class Img_Items(scrapy.Item):
img_type = scrapy.Field()
img_url = scrapy.Field()
创建spider
进入项目的spiders文件夹,创建一个py文件,也就是一个spider,它必须继承于scrapy.Spider。
#-*-coding:utf8-*-
import scrapy
import json
import re
from testSpider.items import Img_Items
class Img_down(scrapy.Spider):
"""docstring for Img_down"""
name = "img"
#设置headers伪装成浏览器
headers = {
'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:53.0) Gecko/20100101 Firefox/53.0',
}
#指定url的情况下我们重写start_requests方法
def start_requests(self):
url = 'http://image.baidu.com/search/avatarjson?tn=resultjsonavatarnew&ie=utf-8&word=truck&cg=girl&pn=0&rn=60&itg=0&z=0&fr=&width=&height=&lm=-1&ic=0&s=0&st=-1&gsm=1e0000001e'
yield scrapy.Request(url, headers=self.headers)
def parse(self,response):
datas = json.loads(response.body)
item = Img_Items() #创建item对象
img_datas = datas['imgs']
for data in img_datas:
item['img_type'] = data['type']
item['img_url'] = data['objURL']
yield item
然后我们进入scrapy的根目录,运行以下命令在:
scrapy crawl img -o <name>.csv
然后查看csv文件
可以看到我们已经把图片链接地址保存下来了,为什么只有60张图片呢?下一篇给你们答案哟!