如何用python写一个爬虫,下载某论坛的动漫图片

实现过程

获取网页内容

import urllib.request

import re

import json

def getHttpStatusCode(tempUrl):

"""检验url是否可以正常访问"""

opener = urllib.request.build_opener()

opener.addheaders = [("User-agent", "Mozilla/49.0.2")]

try:

opener.open(tempUrl)

# print(tempUrl+'没问题')

return 0

except urllib.error.HTTPError:

print(tempUrl + "=访问页面出错")

return 1

except urllib.error.URLError:

print(tempUrl + "=访问页面出错")

return 2

def getcontent(url):

"""获取链接html内容"""

headers = {"User-Agent": "Mozilla/5.0 (X11; Linux x86_64)"}

request = urllib.request.Request(url, headers=headers)

response = urllib.request.urlopen(request)

data = response.read().decode("utf-8")

return data

分析内容中的信息,提取需要的链接

def getcatalogarray(content):

"""获取4chan - catalog数据 ---var catalog = {......};var style_group---"""

pattern = r"var\scatalog\s=(.*).var\sstyle_group"

res = re.search(pattern, content, re.M | re.S)

return res.group(1)

获取网页中的图片下载链接

def getimageurls(content):

"""获取网页中的图片链接

pattern = r"a\shref=\"(//i.4cdn.org/.*?\.[j|p|g][p|n|i][g|f])\""

res = re.findall(pattern, content)

return res

下载图片

urllib.request.urlretrieve(

image_download_url, img_save_path

)

完整代码

tools.py

# -*- coding=utf-8 -*-

# author vvyun

import urllib.request

import re

import json

"""

http工具

"""

def getcontent(url):

"""获取链接html内容"""

headers = {"User-Agent": "Mozilla/5.0 (X11; Linux x86_64)"}

request = urllib.request.Request(url, headers=headers)

response = urllib.request.urlopen(request)

data = response.read().decode("utf-8")

return data

def savestr2file(filename, content):

"""存储字符串到文件"""

output = open(filename, "w+", encoding="utf8")

output.write(content)

output.close()

def getcatalogarray(content):

"""获取4chan - catalog数据 ---var catalog = {......};var style_group---"""

pattern = r"var\scatalog\s=(.*).var\sstyle_group"

res = re.search(pattern, content, re.M | re.S)

return res.group(1)

def getimageurls(content):

"""获取网页中的图片链接

python画动漫图片_python下载动漫图片相关推荐

  1. 用Python实现Flickr照片文本数据下载入库及图片保存(第一次帮忙)

    用Python实现Flickr照片文本数据下载入库及图片保存_fbc3173的博客-CSDN博客 来源 #原来的代码 #!/usr/bin/python import requests import ...

  2. java下载图片到本地,例如从网上下载图片,下载淘宝图片,下载百度图片等

    java下载图片到本地,例如从网上下载图片,下载淘宝图片,下载百度图片. 直接上代码如下: public static void download(String url,String saveFile ...

  3. python获取网页图片_Python获取网页上图片下载地址的方法

    本文实例讲述了Python获取网页上图片下载地址的方法.分享给大家供大家参考.具体如下: 这里获取网页上图片的下载地址是正在写的数据采集中的一段,代码如下: #!/user/bin/python3 i ...

  4. 【Python】用Python画小猪佩奇,落叶树和动漫人物

    本文目录:小猪佩奇-落叶树-魔法少女 本文作者:小赖同学 最近在浏览Python文章时,无意中发现了一个好玩的画图工具turtle,看到各路大神竟然用Python画了一个图片出来,无法用言语来形容心中 ...

  5. 如何用python画金字塔形状_用Python画小猪佩奇,落叶树和动漫人物

    本文目录:小猪佩奇-落叶树-魔法少女 本文作者:小赖同学 ​ 最近在浏览Python文章时,无意中发现了一个好玩的画图工具turtle,看到各路大神竟然用Python画了一个图片出来,无法用言语来形容 ...

  6. 【Python画蜘蛛侠】你的DNA动了吗?

    蜘蛛侠(Spider-Man)即彼得·帕克(Peter Parker),是美国漫威漫画旗下超级英雄.由编剧斯坦·李和画家史蒂夫·迪特科联合创造,初次登场于<惊奇幻想>(Amazing Fa ...

  7. 用python画动态三维轨迹_Python学习(一) —— matplotlib绘制三维轨迹图

    在研究SLAM时常常需要对其输出的位姿进行复现以检测算法效果,在ubuntu系统中使用Python可以很好的完成相关的工作. 一. Ubuntu下Python的使用 在Ubuntu下使用Python有 ...

  8. python画图库哪个好_python画图库

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 我默默的用python画了下面这张图. 依稀记得女同事看了之后,立刻转身离去,并 ...

  9. python画k线图_python画k线图

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! import datetime import pandas_datareader ...

最新文章

  1. java代码是怎么运行的_Java代码是如何运行起来的?
  2. linux 复制文件或者文件
  3. Java用观察者模式重构复杂的业务代码
  4. 区块链网络安全平台Hapi Protocol将在Poolz上进行 IDO
  5. 面向对象之自动生成助记码
  6. 二维字符数组转字符串c语言,[求助] 怎样转换一个字符二维数组到一维数组~~~...
  7. java ssm 增删改查,Maven+SSM框架实现简单的增删改查
  8. python字符串的内建函数_python的字符串内建函数
  9. Linux JAVA JDK JRE 环境变量安装与配置
  10. 深入ReentrantLock底层原理01
  11. 知名卸载软件Revo Uninstaller Pro挑战Deep Freeze卸载动画视频教程
  12. s7五杀大数据英雄_S7入围赛战报:首个五杀!LYN击败GMB
  13. mysql8.0安装/配置教程。
  14. 【技术美术图形部分】纹理基础1.0-纹理管线
  15. pstack 安装linux_linux下的进程堆栈查看工具pstack
  16. 介绍一款开源的自动驾驶仿真模拟器-Carla
  17. MonoRail学习笔记六:Filter功能使用
  18. oracle会计软件技巧,财务软件输入凭证的五大技巧,太实用了!
  19. c语言一个文件里重复多次定义函数,C语言里的重复定义问题的解决方案
  20. 演进式架构学习笔记(一):架构评估及适应度函数

热门文章

  1. linux挂载硬盘---parted命令
  2. css position:absolute 父元素高度塌陷
  3. Xubuntu 搜狗输入法安装
  4. Python一日一练07----冒泡排序
  5. 安装好Ubuntu18.04之后要做的事!!大全、详细教程!
  6. 安装nvidia显卡驱动,Debian11
  7. QT中的item views与Item widgets控件的用法总结
  8. drop/truncate purge
  9. 【正视CSS 02】inline与line-height、float、absolute的故事
  10. [附源码]java毕业设计校园期刊网络投稿系统