程序员大数据 爬虫Python AI Sql

python小爬虫

2017-03-13  本文已影响50人  l_sivan

目的:用urllib2,爬一堆风景图片

重点代码

<code>
response = urllib2.urlopen(url).read()
soup = BeautifulSoup(
response, # html字符串
'html.parser', # html解析器
from_encoding='utf-8' # 字符编码
)
</code>

可见读取到的是一个完整的HTML页面

<code>
import urllib2
from bs4 import BeautifulSoup
def spider_image(url,pre_filename):
response = urllib2.urlopen(url).read()
soup = BeautifulSoup(
response, # html字符串
'html.parser', # html解析器
from_encoding='utf-8' # 字符编码
)
attr = {
'class':'pic',
}
nodes = soup.find_all('a',attr)
url_list = set()
for node in nodes:
try:
url_list.add(node['href'])
except:
pass
for url in url_list:
img_html = urllib2.urlopen(url).read()
soup = BeautifulSoup(
img_html, # html字符串
'html.parser', # html解析器
from_encoding='utf-8' # 字符编码
)
img_url = soup.find('img',id="imgView")
img_name = img_url['alt']
try:
img = urllib2.urlopen(img_url['src']).read()
print(u'正在下载图片:'+img_name)
fout = open(pre_filename+img_name+'.jpg','wb')
fout.write(img)
fout.close()
except Exception as e:
print(e)
pass
def mkdir(path):
# 引入模块
import os
# 去除首位空格
path=path.strip()
# 去除尾部 \ 符号
path=path.rstrip("\")
# 判断路径是否存在
# 存在 True
# 不存在 False
isExists=os.path.exists(path)
# 判断结果
if not isExists:
# 如果不存在则创建目录
print path+' 创建成功'
# 创建目录操作函数
os.makedirs(path)
return True
else:
# 如果目录存在则不创建,并提示目录已存在
print path+' 目录已存在'
return False
if name=='main':
url_list = [
'http://www.tooopen.com/img/90_894.aspx'
]
i = 1
for url in url_list:
print(u'现在开始下载第'+str(i)+u'个网站的图片')
# 定义要创建的目录
mkpath='F:\spider'+str(i)
# 调用函数
mkdir(mkpath)
spider_image(url,'F://spider//spider_image'+str(i)+'//')
i = i + 1
</code>

爬图片的话,其实就是读取到图片之后,转成二进制数据之后,写入文件就行了,然后运行就可以了,然后就看到一堆图片在目录里


上一篇 下一篇

猜你喜欢

热点阅读