alongtheway 发表于 2020-4-2 12:26:24

2020年4月 煎蛋网爬图,根据小甲鱼的教程实现(增加了base64 解码)

本帖最后由 alongtheway 于 2020-4-2 14:41 编辑

import base64
import urllib.request
import os
import time


# page 为起始页码,i为覆盖范围
def get_url(page,i):
    url_list=[]
    for i in range(i):
      temp="20200402-"+str(int(page)-i) #此处 需要改成当日时间, 编写此代码时间为 2020年4月2日 因此得到 20200402
      temp2=base64.b64encode(temp.encode()).decode()
      url="http://jandan.com/ooxx/"+temp2+"#comments"
      url_list.append(url)
    return url_list

def get_html(url):
    req=urllib.request.Request(url)
    req.add_header("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3314.0 Safari/537.36 SE 2.X MetaSr 1.0")
    response=urllib.request.urlopen(req)
    html=response.read()
    return html

def get_img(html):
    html=html.decode("utf-8")
    img_list=[]
    a=html.find("large")

    while a!=-1:
      b=html.find(".jpg", a, a+255)
      if b!=-1:
            temp=html
            img_url="http://wx1.sinaimg.cn/"+temp
            img_list.append(img_url)
      else:
            b=a+20
      a=html.find("large",b)
    return img_list

def save_img(imgs):
   
    for each in imgs:
      img=get_html(each)
      name=each.split("/")[-1]
      with open(name, "wb") as f:
            f.write(img)
            print(name)

def start():
    os.mkdir("OOXX-2")
    os.chdir("OOXX-2")
    url_list=get_url(150,30)#从150页开始,往下走30页
    for url in url_list:
      html=get_html(url)
      imgs=get_img(html)
      save_img(imgs)
      time.sleep(1)
      print( url)
   
if __name__=="__main__":
    start()
   
      

sam_wu 发表于 2020-4-25 10:38:43

赞!学到了{:5_110:}

东百吴彦祖 发表于 2020-8-14 16:39:14

xiexei

a331650606 发表于 2021-2-5 18:16:14

感谢大佬
页: [1]
查看完整版本: 2020年4月 煎蛋网爬图,根据小甲鱼的教程实现(增加了base64 解码)