python爬取斗鱼主播图片

作者: 我也讨厌自己 | 来源:发表于2018-01-15 20:08 被阅读121次

    用python爬取斗鱼主播图片

    转载自:http://blog.sina.com.cn/s/blog_166ae58120102xok6.html

    今天闲来无事,爬取一下斗鱼女主播的图片,之前学习scrapy的时候写过一个找不到了,今天使用requests和bs4重新写了一份,闲话不多说,直奔主题。

    首先用Chrome浏览器访问斗鱼官网:

    当然是选择颜值辣:

    然后鼠标放在第一张图片上,检查元素:

    发现图片的url在这里:

    我们会发现data-original和src内容是一样的,那就选择哪个就可以喽,我们打开这个url试一下:

    OK,就是这个了,然后对这个标签在的位置进行分析,发现:

    所有图片都在这个div标签下,那就好办了,开始写代码:

    首先:

    import requests

    from bs4 import BeautifulSoup

    headers = {

    'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '

    'Chrome/62.0.3202.89 Safari/537.36'

    }

    导入requests和bs4库,顺带带上了headers。

    然后是进行筛选,获取到所有图片的url

    def get_img_url():

    url = 'https://www.douyu.com/directory/game/yz'

    response = requests.get(url, headers=headers)

    soup = BeautifulSoup(response.text, 'html.parser')

    girl_list = soup.select('div[class="items items01 item-data clearfix"]')

    for girl in girl_list:

    li_list = girl.select('li')

    for li in li_list:

    yield li.img['data-original']

    复制过来为啥缩进都没有了,好奇怪,各位可以自行缩进,逻辑不难,应该都能看懂。

    最后是主函数,对图片进行保存:

    if __name__ == '__main__':

    img_url = get_img_url()

    for num, img in enumerate(img_url):

    img_response = requests.get(img)

    # response = requests.get('https://rpic.douyucdn.cn/live-cover/appCovers/2017/12/05/1977639_20171205204858_big.jpg')

    Image = img_response.content

    Image_path = './pictures/%s.png' % num

    fp = open(Image_path, 'wb')

    fp.write(Image)

    fp.close()

    还是没有缩进,for以下的内容都是for循环内的。。。

    到此,大功告成,成果如下:

    还有一个问题没实现,就是当前页只有这么多主播照片,第二页还有呢,各位可以自行加上翻页,这样就可以将所有颜值的主播照片都爬取了下来

    怎么样,学会了没?

    是不是感觉很厉害?

    那还不赶快来学习?

    来软件测试交流群680748947,和你一起学习软件测试知识,共同进步~

    相关文章

      网友评论

      • XY_QL:以前看过一个爬贴吧的图片
      • 5539:把编辑器改成markdown的模式就解决代码缩进了

      本文标题:python爬取斗鱼主播图片

      本文链接:https://www.haomeiwen.com/subject/fmgdoxtx.html