python爬取网页图片(二)
从一个网页爬取图片已经解决,现在想要把这个用户发的图片全部爬取。
首先:先找到这个用户的发帖页面:
http://www.acfun.cn/u/1094623.aspx#page=1
然后从这个页面中爬取每个帖子页面的链接
然后重复(一)的过程
源码:
from urllib.request import urlopen
from urllib.request import urlretrieve
from bs4 import BeautifulSoup as da
import re
import os
import shutil
name=0
print('这是一个爬虫程序,爬取的是壁纸,下载地址是:d:/tupianpachongtest')
print('下载图片很多,若要中断:Ctrl+C-----------wanglei')
try:
os.mkdir(r'd:/tupianpachongtest')#初始化文件夹
except FileExistsError as e:
shutil.rmtree('d:/tupianpachongtest')
os.mkdir(r'd:/tupianpachongtest')
def get_urllist():#获取每期的网址
url0='http://www.acfun.cn'
urllist=[]
page=1
while page <=11:
url="http://www.acfun.cn/u/1094623.aspx#page="+str(page)
html= urlopen(url)
bs0bj=da(html,"lxml")
imglist = bs0bj.findAll("a",{"href":re.compile("/a/ac")})
#imgdict=dict(imglist.attrs)
#imgt=imgdict['herf']
#print(type(imglist))
for img in imglist:
imgdict=dict(img.attrs)
imgt=imgdict['href']
urllist.append(url0+imgt)
page +=1
return(urllist)#图片网址列表
urllist=get_urllist()
ulist=[]
def getlink(url):#获取图片链接
html= urlopen(url)
bs0bj=da(html,"lxml")
imglist = bs0bj.findAll("img",{"src":re.compile("http://imgs.*?live.*?jpg")})
for img in imglist:
imgdict=dict(img.attrs)
imgt=imgdict['src']
ulist.append(imgt)
return(ulist)
s=1
print('爬取进度:0%')
for url0 in urllist:#对每个网址提取图片链接
imgurllist=getlink(url0)
b=len(imgurllist)
#os.mkdir(r'd:/tupianpachongtest/%s'%s)
for url in imgurllist:#下载每个链接并保存
#urlretrieve(url,'d:\\tupianpachongtest\\%s\\%s.jpg'%(s,name))
urlretrieve(url,'d:\\tupianpachongtest\\%s.jpg'%name)
name+=1
#print(int((name/len(imgurllist))*100),'%')
print('爬取进度:',end='')
print(int((s/len(urllist))*100),'%')
s=s+1
python爬取网页图片(二)的更多相关文章
- 利用Python爬取网页图片
最近几天,研究了一下一直很好奇的爬虫算法.这里写一下最近几天的点点心得.下面进入正文: 你可能需要的工作环境: Python 3.6官网下载 我们这里以sogou作为爬取的对象. 首先我们进入搜狗图片 ...
- 用python 爬取网页图片
import re import string import sys import os import urllib url="http://tieba.baidu.com/p/252129 ...
- python爬取网页图片
# html:网页地址 def getImg2(html): soup = BeautifulSoup(html, 'html.parser') href_regex = re.compile(r'^ ...
- python requests库爬取网页小实例:爬取网页图片
爬取网页图片: #网络图片爬取 import requests import os root="C://Users//Lenovo//Desktop//" #以原文件名作为保存的文 ...
- java爬虫-简单爬取网页图片
刚刚接触到“爬虫”这个词的时候是在大一,那时候什么都不明白,但知道了百度.谷歌他们的搜索引擎就是个爬虫. 现在大二.再次燃起对爬虫的热爱,查阅资料,知道常用java.python语言编程,这次我选择了 ...
- Python爬取网页信息
Python爬取网页信息的步骤 以爬取英文名字网站(https://nameberry.com/)中每个名字的评论内容,包括英文名,用户名,评论的时间和评论的内容为例. 1.确认网址 在浏览器中输入初 ...
- python爬取网页的通用代码框架
python爬取网页的通用代码框架: def getHTMLText(url):#参数code缺省值为‘utf-8’(编码方式) try: r=requests.get(url,timeout=30) ...
- node:爬虫爬取网页图片
代码地址如下:http://www.demodashi.com/demo/13845.html 前言 周末自己在家闲着没事,刷着微信,玩着手机,发现自己的微信头像该换了,就去网上找了一下头像,看着图片 ...
- 如何使用python爬取网页动态数据
我们在使用python爬取网页数据的时候,会遇到页面的数据是通过js脚本动态加载的情况,这时候我们就得模拟接口请求信息,根据接口返回结果来获取我们想要的数据. 以某电影网站为例:我们要获取到电影名称以 ...
随机推荐
- openstack swift memcached
如果生成的token总变,说明没有启动memcached: swift@vincent-virtual-machine /usr/bin $ memcached -p 11211 -m 64m -d ...
- Spring中使用Log4j记录日志
以下内容引用自http://wiki.jikexueyuan.com/project/spring/logging-with-log4j.html: 例子: pom.xml: <project ...
- 一个基于JBoss5.1+EJB3.0 登陆应用
花了几天的时间研究了一下EJB的使用,一直以来都主要是在写终端中的程序,对Java框架的相关的开发非常不熟悉,中间遇到了不少麻烦,还好总算都攻克了.写篇日志记录一下. 经验总结 为什么选择JBoss5 ...
- Codeforces div.2 B. The Child and Set
题目例如以下: B. The Child and Set time limit per test 1 second memory limit per test 256 megabytes input ...
- js中window.onload 与 jquery中$(document.ready()) 測试
js中window.onload 与 jquery中$(document.ready())差别,验证代码例如以下(调换js代码和Jquer代码书写顺序測试.执行结果一样.因此与代码书写位置没关系): ...
- jpa删除根据对象删除失败,报Removing a detached instance 错
引用:https://blog.csdn.net/zhanggnol/article/details/6307936 常用数据库表的删除办法,一般都会在DAO类中提供delete.如下例: publi ...
- Got error: 1449: The user specified as a definer ('root'@'%') does not exist when using LOCK TAB
在linux下,用mysql的导出语句: mysqldump -hlocalhost -uroot -pPasswd table >/home/ftp/test.sql 出现了 mysqldum ...
- ubuntu 安装后要做的事情
1. 安装chrome,软件中心就可以. 2. 安装vim 和一些插件.这里引入一大牛配置的插件集 sudo apt-get install vim-gtk wget -qO- https://raw ...
- android 浮动窗体学习笔记及个人理解(仿360手机助手)
很感谢原文作者 http://blog.csdn.net/guolin_blog/article/details/8689140 经自己理解 程序执行界面例如以下图: 1.程序入口界面 2.小浮动窗体 ...
- C语言的各种位运算符的操作简述
运算符: 算术运算符: + , - , * , / , % , ++ , -- 符合运算符: += , *= , /= , %= 条件运算符: ? : 关系运算符: == , >= , < ...