python实例豆瓣代码_Python制作豆瓣图片的爬虫实例代码
Python制作豆瓣图片的爬虫
前段时间自学了一段时间的Python,想着浓一点项目来练练手。看着大佬们一说就是爬了100W+的数据就非常的羡慕,不过对于我这种初学者来说,也就爬一爬图片。
我相信很多人的第一个爬虫程序都是爬去贴吧的图片,嗯,我平时不玩贴吧,加上我觉得豆瓣挺良心的,我就爬了豆瓣首页上面的图片。其实最刚开始是想爬全站,后来一想我这简直是脑子犯抽,全站的图片爬下来得有多少,再说这个只是练一下手,所以就只爬取了首页上的图片。废话不多说 开始代码。
首先是主文件的代码:
import re
from html_downloder import HtmlDownloader
from html_downloder import Image
"'起始URL'"
url = "https://www.douban.com"
"'保存目录'"
image_path = "F:\source\Python\爬虫\ImageGet\Image%s.jpg"
"'定义实体类'"
downloader = HtmlDownloader()
html = downloader.download(url)
"'SaveFile(html, html_path)'"
html = html.decode('utf-8')
"'正则表达式'"
reg1 = r'="(https://img[\S]*?[jpg|png])"'
"'提取图片的URL'"
dbdata = re.findall(reg1, html)
imgsave = Image()
"'下载保存图片'"
imgsave.ImageGet(dbdata, image_path)
我们打开豆瓣首页然后看一下里面图片的url会发现
都是以“=”等号开头,后面接双引号,中间都是https://img,末尾以双引号结束。
因此我们的正则表达式可以写成 reg1 = r'="(https://img[\S]*?[jpg|png])"'
在这个表达式中"[]"中括号里面的东西会作为一个整体,其中[\S]表示大小写字母和数字,[jpg|png]表示以png结尾或者jpg结尾(在这次爬虫中并没有包括gif,因为打开gif的url发现是空白)。
然后是html_downloder.py的代码:
# file: html_downloader.py
import urllib.request
import urllib.error
import time
class HtmlDownloader(object):
def download(self, url):
if url is None:
return None
try:
header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64)'}
"'发出请求'"
request = urllib.request.Request(url=url, headers=header)
"'获取结果'"
response = urllib.request.urlopen(url)
except urllib.error.URLError as e:
if hasattr(e, "code"):
print(e.code)
if hasattr(e, "reason"):
print(e.reason)
if response.getcode() != 200:
return None
html = response.read()
response.close()
return html
class Image (object):
def ImageGet(self, imageurl, image_path):
x = 0
for li in imageurl:
urllib.request.urlretrieve(li, image_path % x)
x = x + 1
"'休眠5s以免给服务器造成严重负担'"
time.sleep(5)
这个文件的代码主要是负责下载html网页和下载具体的图片。
接下来就可以在保存路径对应的文件夹中中看到下载的图片了
至此,爬虫告一段落,离大佬的路还远得很,继续加油!!
以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。
python实例豆瓣代码_Python制作豆瓣图片的爬虫实例代码相关推荐
- python爬取京东商品图片_python利用urllib实现爬取京东网站商品图片的爬虫实例
本例程使用urlib实现的,基于python2.7版本,采用beautifulsoup进行网页分析,没有第三方库的应该安装上之后才能运行,我用的IDE是pycharm,闲话少说,直接上代码! # -* ...
- html登录界面设计代码_Python登录豆瓣并爬取影评
Cookie是为了交互式web而诞生的,它主要用于以下三个方面: 会话状态管理(如用户登录状态.购物车.游戏分数或其它需要记录的信息) 个性化设置(如用户自定义设置.主题等) 浏览器行为跟踪(如跟踪分 ...
- python怎样画动态文字_Python制作动态字符图的实例
这次我们拿小龙猫来做演示 这里就不必多说了,也就导入几个用到的包: SOURCE_PATH:这个是GIF的路径OUTPUT_PATH:这个是每一帧的存放路径FRAMES_PATH:这个也是每一帧的存放 ...
- python写图片爬取软件_python制作微博图片爬取工具
有小半个月没有发博客了,因为一直在研究python的GUI,买了一本书学习了一些基础,用我所学做了我的第一款GUI--微博图片爬取工具.本软件源代码已经放在了博客中,另外软件已经打包好上传到网盘中以供 ...
- python 大智慧365 数据格式_Python爬取365好书中小说代码实例
需要转载的小伙伴转载后请注明转载的地址 需要用到的库 from bs4 import BeautifulSoup import requests import time 获取小说的每个章节的名称和章节 ...
- 如何用python批量处理图片大小_python批量修改图片大小的方法
本文实例为大家分享了python批量修改图片大小的具体代码,供大家参考,具体内容如下 引用的模块 from PIL import Image Image的使用 def resize_image(img ...
- python批量修改图片内容_python批量修改图片大小的方法
本文实例为大家分享了python批量修改图片大小的具体代码,供大家参考,具体内容如下 引用的模块 from PIL import Image Image的使用 def resize_image(img ...
- 表格为一条细线的html代码,html制作细线表格的简单实例
原标题:html制作细线表格的简单实例 关于这个细线表格的制作方法,百度一下可能就会有答案告诉你设置这几个值:给table设置border="0" cellspacing=&quo ...
- 用python批量下载网络图片_python批量下载图片的三种方法
一是用微软提供的扩展库win32com来操作IE: win32com可以获得类似js里面的document对象,但貌似是只读的(文档都没找到). 二是用selenium的webdriver: sele ...
最新文章
- 望城区构建摩托车电动车防盗系统 打造物联网平安智慧城市
- flutter集成到原生工程
- 大数据笔记(六)——HDFS的底层原理:JAVA动态代理和RPC
- 数据库---练习题(45道)
- vj节点_创意编码—如何在JavaScript中创建VJ引擎
- GeoServer地图开发解决方案(四):发布Web地图服务(WMS)篇
- 试试Write Live Writer在博客园的使用
- asp.net写验证码
- java视频教程哪个好?
- Shell脚本学习指南
- 10.柱状图-----人口普查各地区人口排行榜
- 微信机器人 DIY 从 0 到 1
- 安装visio viewer2013成功后仍无法使用
- Vue3-pinia(状态管理)
- 优漫动游色彩搭配原则,如何巧妙的搭配色彩?
- 校园二手交易平台课程设计正文
- 你的企业IM安全吗?对于私有化的即时通讯软件你了解多少?
- 为什么要使用UTF-8?
- 抖音快手的新战争从IPO开始
- 2021年育婴员(五级)报名考试及育婴员(五级)免费试题