温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何使用selenium爬取表情包

发布时间:2021-08-30 14:43:11 阅读:147 作者:chen 栏目:大数据
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

本篇内容主要讲解“如何使用selenium爬取表情包”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用selenium爬取表情包”吧!

https://www.doutula.com/photo/list/?page=1

如何使用selenium爬取表情包

不过这个网站直接requests请求不到内容,应该也是js加载的。所以最简单的办法就是使用selenium,万能!

该网站的结构

如何使用selenium爬取表情包

如果是gif,会多出一个img标签

如何使用selenium爬取表情包

根据此来写出xpath,拿出图片的地址,使用urllib进行下载

如何使用selenium爬取表情包

下载完成后保存。然后在通过wxpy库,发送给好友或者群。

具体代码

使用selenium获取表情包,并保存到文件中。注意保存的时候文件名最好是英文或者数字,否则当你使用wxpy库模拟发送的时候,会直接报错。

def get_doutu():    browser = webdriver.Chrome()    # img_url_dic = {}    for i in range(1, 2):        browser.get('https://www.doutula.com/photo/list/?page=%s' % str(i))        time.sleep(4)        eles = browser.find_elements_by_xpath('//div[@class="container_"]/div[@id="pic-detail"]/div[@class="row"]/div[@class="col-sm-9"]/div[@class="random_picture"]/ul[@class="list-group"]/li[@class="list-group-item"]/div[@class="page-content text-center"]/div/a[@class="col-xs-6 col-sm-3"]/img[@data-original]')        # names = browser.find_elements_by_xpath('//div[@class="container_"]/div[@id="pic-detail"]/div[@class="row"]/div[@class="col-sm-9"]/div[@class="random_picture"]/ul[@class="list-group"]/li[@class="list-group-item"]/div[@class="page-content text-center"]/div/a[@class="col-xs-6 col-sm-3"]/img[@data-original]')        for j in range(len(eles)):            url = eles[j].get_attribute('data-original')            url = url.split('!')[0]            ext = url.split('.')[-1]            name = random.randrange(1, 10000, 2)            filename = str(name) + '.' + ext            # 保存图片数据            data = urllib.request.urlopen(url).read()            f = open('image/' + filename, 'wb')            f.write(data)            f.close()        time.sleep(5)    browser.close()    browser.quit()

获取文件列表,打印是为了充数,将文件的地址拼接好,发送给send_news(),由它进行发送。

def listdir(file_dir):    for root, dirs, files in os.walk(file_dir):        print(root)  # 当前目录路径        print(dirs)  # 当前路径下所有子目录        print(files)  # 当前路径下所有非目录子文件        print(type(files))    for i in files:        send_news(file_dir + i)        time.sleep(10)

到入wxpy包,登录微信并发送 

def login_wechat():    global bot    bot = Bot()    # bot = Bot(console_qr=2,cache_path="botoo.pkl")#linux环境上使用def send_news(data):    if bot == None:        login_wechat()    try:        my_group = bot.groups().search(u'逗比四人行')[0]        time.sleep(20)        print(data)        my_group.send_image(data)            except Exception as e:        print(u"失败!!", e)

最好设置间隔时间。小心被清理。

到此,相信大家对“如何使用selenium爬取表情包”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

原文链接:https://my.oschina.net/u/4080705/blog/4419386

AI

开发者交流群×