python网络爬虫爬取app图片,Python简单知乎爬虫--爬取页面的图片并下载到本地

写了一个小爬虫,其实也算不上爬虫,只是抓取了页面的图片。这里主要是BeautifulSoup解析HTML源码,非常的方便啊,简直是神器,之前一直是使用正则表达式去解析非常痛苦啊!!!!

0818b9ca8b590ca3270a3433284dd417.png

这里是BeautifulSoup的中文文档:https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/

代码详细见注释,解释的非常清晰了。以后再慢慢加一些功能吧

最后附上我的这个小项目的github地址:https://github.com/qq1367212627/spider

#coding=utf-8

importurllib2

frombs4importBeautifulSoup

importos

importre

url="https://www.zhihu.com/question/36390957"#指定的URL

defdownload(_url,name):#下载函数

if(_url==None):#地址若为None则跳过

pass

result=urllib2.urlopen(_url)#打开链接

#print result.getcode()

if(result.getcode()!=200):#如果链接不正常,则跳过这个链接

pass

else:

data=result.read()#否则开始下载到本地

with open(name, "wb") as code:

code.write(data)

code.close()

res=urllib2.urlopen(url)#打开目标地址

respond=res.read()#获取网页地址源代码

count=0#计数君

soup=BeautifulSoup(respond)#实例化一个BeautifulSoup对象

lst=[]#创建list对象

forlinkinsoup.find_all("img"):#获取标签为img的内容

address=link.get('data-original')#获取标签属性为data-original的内容,即图片地址

lst.append(address)#添加到list中

s=set(lst)#去重

foraddressins:

if(address!=None):

pathName="E:\\2333\\"+str(count+1)+".jpg"#设置路径和文件名

download(address,pathName)#下载

count=count+1#计数君+1

print"正在下载第:",count

0818b9ca8b590ca3270a3433284dd417.png

#coding=utf-8

import urllib2

from bs4 import BeautifulSoup

import os

import re

url="https://www.zhihu.com/question/36390957"#指定的URL

def download(_url,name):#下载函数

if(_url==None):#地址若为None则跳过

pass

result=urllib2.urlopen(_url)#打开链接

#print result.getcode()

if(result.getcode()!=200):#如果链接不正常,则跳过这个链接

pass

else:

data=result.read()#否则开始下载到本地

with open(name, "wb") as code:

code.write(data)

code.close()

res=urllib2.urlopen(url)#打开目标地址

respond=res.read()#获取网页地址源代码

count=0#计数君

soup=BeautifulSoup(respond)#实例化一个BeautifulSoup对象

lst=[]#创建list对象

for link in soup.find_all("img"):#获取标签为img的内容

address=link.get('data-original')#获取标签属性为data-original的内容,即图片地址

lst.append(address)#添加到list中

s=set(lst)#去重

for address in s:

if(address!=None):

pathName="E:\\2333\\"+str(count+1)+".jpg"#设置路径和文件名

download(address,pathName)#下载

count=count+1#计数君+1

print "正在下载第:",count

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值