weixin_38261783
2018-12-03 07:20
采纳率: 100%
浏览 1.1k

python怎么爬取百度百科上canvas标签的图片

我想爬取该图片上的文字标签,我应该怎么做 图片说明

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • willpower2012 2018-12-03 08:23
    已采纳

    也就是爬取动态图片吧

    coding = utf-8

    import urllib.request
    import re
    import requests

    def getDatas(keyword,pages):
    params=[]
    for i in range(30,30*pages+30,30):
    params.append({
    'tn': 'resultjson_com',
    'ipn': 'rj',
    'ct': 201326592,
    'is': '',
    'fp': 'result',
    'queryWord': keyword,
    'cl': 2,
    'lm': -1,
    'ie': 'utf-8',
    'oe': 'utf-8',
    'adpicid': '',
    'st': -1,
    'z': '',
    'ic': 0,
    'word': keyword,
    's': '',
    'se': '',
    'tab': '',
    'width': '',
    'height': '',
    'face': 0,
    'istype': 2,
    'qc': '',
    'nc': 1,
    'fr': '',
    'pn': i,
    'rn': 30,
    'gsm': '1e',
    '1526377465547': ''
    })
    url = 'https://image.baidu.com/search/index'
    urls = []
    for i in params:
    urls.append(requests.get(url,params=i).json().get('data'))

    return urls
    

    def getImg(datalist,path):
    x=0
    for list in datalist:
    for i in list:
    if i.get('thumbURL') != None:
    print('正在下载:%s' % i.get('thumbURL'))
    urllib.request.urlretrieve(i.get('thumbURL'), path+'%d.jpg'%x)
    x += 1
    else:
    print('图片链接不存在')

    if name == '__main__':
    datalist=getDatas('高清电脑背景',1)
    getImg(datalist,'/home/cxiansheng/图片/')

    已采纳该答案
    打赏 评论
  • weixin_38261783 2018-12-03 08:55

    不是,网页是用canvas标签,没有img的url

    打赏 评论
  • gammey 2018-12-06 09:40

    把canvas的内容保存下来导入到html文件不就行了?

    打赏 评论

相关推荐 更多相似问题