一、准备
1.创建scrapy项目
scrapy startproject douyu cd douyu scrapy genspider spider "www.douyu.com" 12345
2.创建启动文件start.py
from scrapy import cmdline cmdline.execute("scrapy crawl douyu".split()) 123
二、分析
准备完毕,开始分析。先进入斗鱼看看。
找到发送的请求
可以看到页面的数据都在其中
而请求的链接为
访问该网址
这么看数据可能不太好分析,复制数据使用在线json进行格式化校验
本次项目中要获取的是主播名称和图片url,分析json数据如下:
我们需要的数据位置:
OK,接下来分析代码
class DouyuSpider(scrapy.Spider):
name = 'douyu'
# allowed_domains = ['www.douyu.com']
#直接访问我们刚才找到的链接
start_urls = ['https://www.douyu.com/gapi/rknc/directory/yzRec/1']
offset = 1 #爬取多页限制条件
def parse(self, response):
#通过对json的分析,名称和图片都在rl下,我们直接拿到data下的rl进行遍历获取
data_list = json.loads(response.body)["data"]["rl"]
for data in data_list:
nn = data["nn"] #拿到名称
img_url = data["rs1"] #拿到图片url
item = DouyuItem(nn=n