python爬虫入门教程之糗百图片爬虫代码分享

这篇文章主要介绍了python爬虫入门教程之糗百图片爬虫代码分享,本文以抓取糗事百科内涵图为需求写了一个爬虫,,需要的朋友可以参考下

学习python少不了写爬虫,不仅能以点带面地学习、练习使用python,爬虫本身也是有用且有趣的,大量重复性的下载、统计工作完全可以写一个爬虫程序完成。

用python写爬虫需要python的基础知识、涉及网络的几个模块、正则表达式、文件操作等知识。昨天在网上学习了一下,写了一个爬虫自动下载「糗事百科」里面的图片。源代码如下:

复制代码 代码如下:
# -*- coding: utf-8 -*-
# 上面那句让代码里支持中文

#--------------------------------------- 
#   程序:糗百图片爬虫 
#   版本:0.1 
#   作者:赵伟 
#   日期:2013-07-25 
#   语言:Python 2.7 
#   说明:能设置下载的页数。没有做更多抽象和交互方面的优化。 
#---------------------------------------

import urllib2
import urllib
import re

#正则表达式,用来抓取图片的地址
pat = re.compile('

\\n')

#用来合成网页的URL
nexturl1 = "http://m.qiushibaike.com/imgrank/page/"
nexturl2 = "?s=4582487&slow"

#页数计数
count = 1

#设置抓取的页数
while count < 3:

    print "Page " + str(count) + "\n"
    myurl = nexturl1 + str(count) + nexturl2
    myres = urllib2.urlopen(myurl)#抓取网页
    mypage = myres.read()#读取网页内容
    ucpage = mypage.decode("utf-8") #转码

    mat = pat.findall(ucpage)#用正则表达式抓取图片地址
       
    count += 1;
   
    if len(mat):
        for item in mat:
            print "url: " + item + "\n"
            fnp = re.compile('/(\w+\.\w+)$')#下面三行分离出图片文件的名称
            fnr = fnp.findall(item)
            fname = fnr[0]
            urllib.urlretrieve(item, fname)#下载图片
      
    else:
        print "no data"

使用方法:新建一个practice文件夹,将源代码保存为qb.py文件,并放在practice文件夹中,在命令行里执行python qb.py,即开始下载图片。可以修改源代码里面的while语句设置下载的页数。

相关推荐:

Cloudflare 细化网络爬虫屏蔽管理,将默认禁止 AI 代理与训练爬虫访问广告页面

7 月 2 日消息,互联网基础服务企业 Cloudflare 当地时间 1 日宣布细化网络爬虫屏蔽管理,根据其行为对爬虫机器人赋予搜索、代理(智能体)、训练等一系列标签,并计划在 2026 年 9 月 15 日默认禁止 AI 代理与训练爬虫访问含广告的网页。Cloudflare 表示,大多数网站所有者都希望自己的内容既能够被人工智能发现又不会损失来自知识产权的收益。负责任的 AI 企业会清晰标记其...

让你的代码永存于世,微软 GitHub 推出代码仓库刻录 CD-ROM 实体光盘服务

感谢网友 Skyraver 的线索投递! 7 月 3 日消息,微软旗下的代码托管平台 GitHub 今天宣布推出代码仓库刻录 CD-ROM 实体光盘服务。值得注意的是,GitHub 官方还用一番玩味十足的语气宣发这项服务:我们听到了大家的声音,并表示认同。鉴于近期实体媒介的发展,GitHub 欣然宣布:你现在可以将自己的公开仓库刻录成 CD-ROM 实体光盘。你可以把你的代码收藏起来、借给朋友,或...

《SAND:Raiders of Sophie》新手入门教程分享

《SAND:Raiders of Sophie》中的新手游玩需要注意的事情是非常多的,快速入门的难度很大,首先是造船,需要选一个合适的底盘,形状可以按照自己的想法来,然后是选择支撑框架,这个东西很重要。 SAND新手入门怎么玩 本文内容来源于互联网,如有侵权请联系删除。

我的世界雷雨指令代码怎么用

我的世界雷雨指令代码使用方法:1.首先在游戏中按下t键,进入聊天界面;2.然后输入/weather thunder指令;3.出现更换到雷雨天气时代表成功。 详细答案: 1.首先在游戏中按下t键,进入聊天界面。 2.然后输入/weather thunder指令。 3.出现更换到雷雨天气时代表成功。 本文内容来源于互联网,如有侵权请联系删除。

什么是Nanobanana提示词?新手必看入门教程

在ai图像生成领域,提示词(prompt)的质量直接决定了输出作品的水准。nanobanana提示词作为一套专为ai绘图优化的提示词体系,正被越来越多的创作者和设计师所采纳。本文将全面解析nanobanana提示词的使用逻辑、适用场景与实操策略,助你高效掌握这一实用工具,让每一次ai创作都更接近理想效果。 什么是Nanobanana提示词? Nanobanana提示词是一套经过系统化梳理与实战验证...

2026年最火的AI数字人工具QoderWake:小白零代码制作指南

零代码可视化构建AI数字人是QoderWake的核心能力。小白用户可通过工作流编辑器拖拽节点、配置触发与处理逻辑、插入审批分流节点,并校验发布,全程无需编程。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜ 如果您希望快速创建属于自己的AI数字人,但缺乏编程经验或不熟悉复杂配置流程,则可能是由于未掌握QoderWake提供的零代码可视化构建能...
· AI · 124147

千问如何用于代码审查和Bug检测?代码质量检查自动化方案

千问模型可通过五种方法开展代码质量评估与缺陷识别:一、完整代码逐行分析;二、检查清单逐项验证;三、对比标准范式识别偏差;四、集成OpenClaw实现本地自动化审查;五、基于错误现象反向归因分析。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜ 如果您希望借助千问模型对代码进行质量评估与潜在缺陷识别,则需依托其静态文本分析能力,在不执行代码的前...
· AI · 89675