Pythoner集中营程序员

记我的第一次批量抓取网页图片的经历

2017-09-20  本文已影响0人  IngerChao

get贴吧图片

哇。。在同学的公众号下面看到他找壁纸不想批量保存的脚本,感觉好酷啊,还有这种操作?。。源码看起来也很简单,因为自己也经常在贴吧找头像什么的于是试了一下

我用的是python3.5 同学用的2.7。
刚开始一直出现no hosts given这个bug,真是气死我了,我的url明明是对的啊。查了一下发现3.0后的版本urlib包下面没有urlretrieve()这个方法了QAQ

urllib.request.urlretrieve(imgurl,'F:\img\%s.jpg' % x ) #2.7直接用urlib.urlretrieve()这个方法

接下来的一个问题就是程序执行完了然而我的路径下并没有东西。。然后开始逐行测试,getPage()方法没毛病,就是匹配不到网页里的jpg,又研究了一会正则表达式。。最后倒是搞好了嘿嘿嘿

最后附一下源码

import re
import requests
import urllib.request
print("[+]please enter a url of tieba:")
url=input()
status=requests.session()
def getPage(status):
    text=status.get(url)
    html=text.text
    return html
page=getPage(status)
def getImage(html):
    reg = r'src=\\"(.*?\.jpg)'
    imgre = re.compile(reg)
    imglist = re.findall(imgre,html)
    finalist=[i.replace('\\','') for i in imglist]
   # print("finalist" + finalist)
    x=0
    for imgurl in finalist:
        urllib.request.urlretrieve(imgurl,'F:\img\%s.jpg' % x ) #2.7直接用urlib.urlretrieve()这个方法
        x+=1
html = getPage(status)
getImage(html)
print("[+]downloads the pictures...")
print("[+]finished!")
测试 运行结果

完美 最后感谢一下我的同学 出于礼貌帮他宣传一波公众号:UniverseIDthree


我的CSDN博客 我的github 欢迎互关 一起进步
附上他的文章链接

上一篇下一篇

猜你喜欢

热点阅读