目录

一、利用正则表达式

二、利用beautifulsoup


方法1

import re
import os
import urllib
import urllib.request def getHtml(url):
page = urllib.request.urlopen(url)
html = page.read()
return html def getImage(html,x):
#https://mmbiz.qpic.cn/mmbiz_jpg/ib55rg6wzUc3B16KIY3uU53nkcTTDic8uEA4WWBPaHJ8LpibvAnkpS2FZtyjrv7w7dbEeNrhfvPuuyReNAxsLdgJA/640?wx_fmt=jpeg
#https://mmbiz.qpic.cn/mmbiz_jpg/ib55rg6wzUc3B16KIY3uU53nkcTTDic8uEHqocI7r86nehl2NeForAqvcTiaEAIuWjTWPKNXnnXIPuUuqnuJeFKYw/640?wx_fmt=jpeg
#此处正则为重点
reg = 'data-src="(.*?)"'
image = re.compile(reg)
imlist = re.findall(reg,html.decode('utf-8')) print(imlist)
for i in imlist:
print(i)
print(x)
# 下载内容与.py一起
#urllib.request.urlretrieve(i,'%s.jpg' % x)
# 下载位置自定义
urllib.request.urlretrieve(i, r'F:\desktop\爬取的图片\%s.jpg' % x)
x +=1
return x
# -------------递归创建的目录-----------
path = r"F:\desktop\爬取的图片"
if not os.path.exists(path):
os.makedirs(path)
#-----------存储目录创建结束------------
# main 下载结果与此.py文件在同一目录'
x=1
url = 'https://mp.weixin.qq.com/s/MVDcn0O3093OlIhMYkqBIA'
html = getHtml(url)
x = getImage(html,x)
print('下载完成')

方法2:BeautifulSoup 避免写正则表达式(因为不会)


import os
import requests
import urllib.request
from bs4 import BeautifulSoup
#微信下载图片的网址
url = "https://mp.weixin.qq.com/s/cm3Bua0UM1jbZnr2de7TWg"
r = requests.get(url)
demo = r.text
soup = BeautifulSoup(demo, "html.parser")
piclist = []
for link in soup.find_all('img'):
link_list = link.get('data-src')
if link_list != None:
piclist.append(link_list)
# print(piclist)
# print(type(link_list))
# -------------递归创建的目录-----------
path = r"F:\desktop\爬取的图片"
if not os.path.exists(path):
os.makedirs(path)
#-----------存储目录创建结束------------
x = 0
for http in piclist:
print(http)
filesavepath = r'F:\desktop\爬取的图片\%s.jpg' % x
urllib.request.urlretrieve(http, filesavepath)
x += 1
print('正在保存第{:.0f}张图片'.format(x))
print('下载完成')

python爬虫项目-一见倾心壁纸的更多相关文章

  1. GitHub 上有哪些优秀的 Python 爬虫项目?

    目录 GitHub 上有哪些优秀的 Python 爬虫项目? 大型爬虫项目: 实用型爬虫项目: 其它有趣的Python爬虫小项目: GitHub 上有哪些优秀的 Python 爬虫项目? 大型爬虫项目 ...

  2. 32个Python爬虫项目让你一次吃到撑

    整理了32个Python爬虫项目.整理的原因是,爬虫入门简单快速,也非常适合新入门的小伙伴培养信心.所有链接指向GitHub,祝大家玩的愉快~O(∩_∩)O WechatSogou [1]- 微信公众 ...

  3. python爬虫项目-爬取雪球网金融数据(关注、持续更新)

    (一)python金融数据爬虫项目 爬取目标:雪球网(起始url:https://xueqiu.com/hq#exchange=CN&firstName=1&secondName=1_ ...

  4. python爬虫项目(scrapy-redis分布式爬取房天下租房信息)

    python爬虫scrapy项目(二) 爬取目标:房天下全国租房信息网站(起始url:http://zu.fang.com/cities.aspx) 爬取内容:城市:名字:出租方式:价格:户型:面积: ...

  5. python爬虫项目(新手教程)之知乎(requests方式)

    -前言 之前一直用scrapy与urllib姿势爬取数据,最近使用requests感觉还不错,这次希望通过对知乎数据的爬取为 各位爬虫爱好者和初学者更好的了解爬虫制作的准备过程以及requests请求 ...

  6. Python爬虫项目整理

    WechatSogou [1]- 微信公众号爬虫.基于搜狗微信搜索的微信公众号爬虫接口,可以扩展成基于搜狗搜索的爬虫,返回结果是列表,每一项均是公众号具体信息字典. DouBanSpider [2]- ...

  7. Python爬虫项目--爬取链家热门城市新房

    本次实战是利用爬虫爬取链家的新房(声明: 内容仅用于学习交流, 请勿用作商业用途) 环境 win8, python 3.7, pycharm 正文 1. 目标网站分析 通过分析, 找出相关url, 确 ...

  8. Python爬虫项目--爬取猫眼电影Top100榜

    本次抓取猫眼电影Top100榜所用到的知识点: 1. python requests库 2. 正则表达式 3. csv模块 4. 多进程 正文 目标站点分析 通过对目标站点的分析, 来确定网页结构,  ...

  9. 几个非常适合练手的python爬虫项目,总有一个能搞定!

    前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:Python玩家 注意:如果你平时学Python有问题找不到人解答,可以 ...

随机推荐

  1. 基于 HTML5 + WebGL 实现 3D 可视化地铁系统

    前言 工业互联网,物联网,可视化等名词在我们现在信息化的大背景下已经是耳熟能详,日常生活的交通,出行,吃穿等可能都可以用信息化的方式来为我们表达,在传统的可视化监控领域,一般都是基于 Web SCAD ...

  2. Golang 实现华为云 DMS 签名

    构造请求 首先构造请求,也就是要对哪个具体接口进行访问,需要提供什么必要的参数.在构造请求(点击查看中可以看到,对 DMS 服务来说必要的请求构成包括以下部分 请求URI,例如 https://dms ...

  3. 原生js实现导航栏吸顶

    实现滑动滚动条让导航栏吸顶原理:主要是通过监听scroll,设定一个滚动条垂直位移作为临界,让导航栏吸顶或者取消吸顶. 话不多说了,代码如下: window.onscroll = function ( ...

  4. MVC5异步提交表单疑难杂症

    //此处必须添加,不然不能执行异步回调OnAddPortSuccess方法 <script src="~/scripts/jquery.unobtrusive-ajax.min.js& ...

  5. JavaSE(下)

    11.抽象的(abstract)方法是否同时是静态的(static),是否可同时是本地方法(native),是否可同时被synchronized? 都不能. 抽象方法需要子类重写,而静态的方法是无法被 ...

  6. nginx篇最初级用法之访问认证

    1打开conf下的配置文件 在server 之下 location 之上加入 auth_basic "Input Password:";    弹出的提示信息 auth_basic ...

  7. visit:组合数学,ex_Lucas

    没做过ex_Lucas的同学可以先看看这个:组合数学专题<礼物>题解.顺便把那道题水了. 有一个公式蛮重要的,竟然还有人不知道? 有一共n种共k个物品,每一种有a1,a2,a3...an个 ...

  8. elasticsearch操作命令

    总结几个es的curl操作命令: 查询某条数据:curl -XGET http://elasticsearch:9200/company/company/123?pretty 查询索引下数据总量:cu ...

  9. 使用Typescript重构axios(二十三)——添加withCredentials属性

    0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...

  10. 用Java实现简单的区块链

    用 Java 实现简单的区块链 1. 概述 本文中,我们将学习区块链技术的基本概念.也将根据概念使用 Java 来实现一个基本的应用程序. 进一步,我们将讨论一些先进的概念以及该技术的实际应用. 2. ...