爬虫目标
下载必应搜索的背景壁纸
- 使用模块:requests、gevent
- 接口(get):https://cn.bing.com/HPImageArchive.aspx
- 主要参数
"format":"js", "idx":"0", "n":"20", # 壁纸数量,壁纸本身没几张,大了也没有
爬虫主体
获取壁纸连接
返回包含壁纸URL 和 hash码
的字典的列表
def get_url_title(): url = "https://cn.bing.com/HPImageArchive.aspx" params = { "format":"js", "idx":"0", "n":"20", # 壁纸数量,壁纸本身没几张,大了也没有 } r = requests.get(url=url,params=params).json() # 存 url 和 hsh 的列表 url_title_list = list() # 解析 json for imgdata in r.get("images"): hsh = imgdata.get("hsh") imgurl = "https://cn.bing.com" +imgdata.get("url") # print(url,copyright) url_title_list.append({"url" :imgurl,"hsh" :hsh}) return url_title_list
下载并保存壁纸
提前创建 imgs/
文件夹
def download(url_title): # 下载壁纸 img_content = requests.get(url_title.get("url")).content # 保存文件 print(url_title.get("hsh")) with open( "imgs/" + url_title.get("hsh") + ".jpg","wb+") as file: file.write(img_content)
主逻辑
if __name__ == '__main__': url_titles = get_url_title() # 协程队列 spawnList = [gevent.spawn(download,url_title) for url_title in url_titles] # 等待协程队列执行 gevent.joinall(spawnList)
上一篇
【爬虫项目】人民日报
【爬虫项目】人民日报
版权声明:《 【爬虫项目】必应壁纸 》为明妃原创文章,转载请注明出处!
最后编辑:2020-3-12 09:03:01