Python3 定向爬虫之“抓取糗事百科图片”

#--*--coding:utf-8--*--
#抓取糗事百科图片,并保存到文件夹中

import re
import urllib.request
from urllib.error import URLError,HTTPError
import sys

url = "http://www.qiushibaike.com/imgrank/page/1"
# 给文件加入头信息,用以模拟浏览器访问
user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
headers = {
    'Connection': 'Keep-Alive',
    'Accept': 'text/html, application/xhtml+xml, */*',
    'Accept-Language': 'en-US,en;q=0.8,zh-Hans-CN;q=0.5,zh-Hans;q=0.3',
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko'
}
j=0
for i in range(1,30+1):
    try:
        #实现翻页翻页
        url = re.sub('page/\d+','page/%d'%i,url,re.S)
        print(url)
        #发送请求,获得返回信息
        req = urllib.request.Request(url,headers=headers)
        response = urllib.request.urlopen(req,timeout=15)
        content = response.read().decode('utf-8')
        #处理获取的web网页,并将信息处理了
        items1 = re.findall('<div class="article block untagged mb15" id=(.*?)<div class="stats"',content,re.S)

        for i in items1:
            # 多次使用正则表达式,运用先抓大再抓小原则。成功抓取纯净的图片地址
            items2 = re.findall('<div class="thumb">(.*?)</div>',i,re.S)
            picurl = re.findall('<img src=\"(.*?)\"',items2[0],re.S)
            print(picurl[0])
            pic = urllib.request.urlopen(picurl[0])
            jpgpic = pic.read()
            # 打开文件,如果是windows pic后用\linux用/
            fp = open('pic/'+str(j)+'.jpg',"wb")
            print(j)
            # 写入文件
            fp.write(jpgpic)
            fp.close()
            j=j+1
    except HTTPError as e:
           print("HTTPError")
           pass
    except URLError as e:
        print("URLError")
            pass
    except:
            pass
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值