我爱编程

爬虫练习:抓取lol各英雄图片并保存在本地

2018-05-27  本文已影响0人  AIHENJIANDAN

第一个爬虫项目


image.png

代码

import re
import urllib.request
import os
import ssl
def open_url(url):
    req = urllib.request.Request(url)
    req.add_header("User-Agent","Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36")
    response = urllib.request.urlopen(req,context=context)
    html = response.read()
    return html
def get_img(html):
    p = r'src=("http[^"]+?\.[ipg|png]+")'
    html = html.decode("GBK")
    img_list = re.findall(p,html)
    for num,value in enumerate(img_list):
        img_list[num] = value[1:len(value)-1]
    return (img_list)
def save_img(folder,img_list):

    for each in img_list:
        filename = each.split("/")[-1]

        with open(filename,"wb") as f:
            img = open_url(each)
            f.write(img)
def document_lol(folder = "lolpic"):
    os.mkdir(folder)
    os.chdir(folder)
    url = "http://lol.52pk.com/hero/"
    img_list = get_img(open_url(url))
    save_img(folder,img_list)



if __name__ == "__main__":
    context = ssl._create_unverified_context()
    document_lol()

最后贴一张爬完的结果


image.png

OK,不是很好的开头,接下来可以试着多做几个简单的练习之后再去爬一些网站抓取有用的数据来分析,(爬一下拉钩网上招聘信息,链家的房租信息等)不过可能反爬机制那部分又要折腾很久。不得不说,当你每次高高兴兴以为自己code没问题的时候去运行,结果莫名其妙跑出一些BUG真的很气人啊,有时候气的想砸桌子。。。


image.png
上一篇 下一篇

猜你喜欢

热点阅读