【Python3.6爬虫学习记录】(三)简单的爬虫实践-豆瓣《河神》演员图片及姓名
2017-08-12 21:03
961 查看
前言:将之前的爬取图片和文字简单的应用了一下,期间遇到一些问题,主要是因为之前只是简单的学习了Python,导致一些语法,不过关。但是,解决了问题之后,还是比较兴奋的。
代码及注释:
相关问题:
①BeautifulSoup的应用
按标签属性搜索,如标签名,标签中某些内容用正则表达式re进行匹配。以及用class搜索的注意点
②spllit的应用
为了提取标签内容中图片网址和姓名
处理办法:
得到的网址是utf-8编码的,保存到文件中需要转码
③小处理技巧
用中括号及标签内部属性名获得该属性
代码及注释:
# 爬取豆瓣河神演员照片 from bs4 import BeautifulSoup import requests import lxml import re url = 'https://movie.douban.com/subject/26776350/celebrities' html = requests.get(url).content soup = BeautifulSoup(html,'lxml') #用class搜索,由于是python的关键词,所以要用下划线 imgs = soup.find_all(class_="avatar") names = soup.find_all('a',href=re.compile("celebrity"),class_="name") i = 0 print('开始下载') for img in imgs: img_url = img['style'] #利用切片获得图片网址 img_content=img_url.split('(')[1].split(')')[0] try: print('下载第%s张图片'%i) with open('河神\\'+str(names[i].string)+'.jpg','wb') as f: #将获得图片网址转换成二进制编码 f.write(requests.get(img_content).content) i+=1 except Exception: print('出现错误') print('下载完成')
相关问题:
①BeautifulSoup的应用
按标签属性搜索,如标签名,标签中某些内容用正则表达式re进行匹配。以及用class搜索的注意点
#用class搜索,由于是python的关键词,所以要用下划线 imgs = soup.find_all(class_="avatar") names = soup.find_all('a',href=re.compile("celebrity"),class_="name")
②spllit的应用
为了提取标签内容中图片网址和姓名
处理办法:
#利用切片获得图片网址 img_content=img_url.split('(')[1].split(')')[0]
得到的网址是utf-8编码的,保存到文件中需要转码
#将获得图片网址转换成二进制编码 f.write(requests.get(img_content).content)
③小处理技巧
用中括号及标签内部属性名获得该属性
#<.......style="background-image: url(https://img3.doubanio.com/img/celebrity/medium/39105.jpg)".....> img_url = img['style'] #img_url=background-image: url(https://img3.doubanio.com/img/celebrity/medium/39105.jpg)
相关文章推荐
- 【Python3.6爬虫学习记录】(一)爬取简单的静态网页图片
- 【Python3.6爬虫学习记录】(五)Cookie的使用以及简单的爬取知乎
- 【Python3.6爬虫学习记录】(四)爬取百度贴吧某帖子内容及图片
- 【Python3.6爬虫学习记录】(二)使用BeautifulSoup爬取简单静态网页文章
- python3.6 urllib.request库实现简单的网络爬虫、下载图片
- 【Python3.6爬虫学习记录】(六)urllib详细使用方法(header,代理,超时,认证,异常处理)
- 【Python3.6爬虫学习记录】(七)使用Selenium+ChromeDriver爬取知乎某问题的回答
- Python爬虫学习(一)----简单的爬虫实践
- Python爬虫学习记录(1)——百度贴吧图片下载
- Python爬虫学习笔记(1):简单的图片爬取
- 【Python3.6爬虫学习记录】(九)模拟登陆QQ空间爬取好友所有留言并制作词云
- Python爬虫学习笔记一:简单网页图片抓取
- 【Python3.6爬虫学习记录】(十四)多线程爬虫模板总结
- 【Python3.6爬虫学习记录】(八)Selenium模拟登录新浪邮箱并发送邮件
- Python爬虫学习记录(0)——Python 爬虫抓站 记录(虾米,百度,豆瓣,新浪微博)
- 【Python3.6爬虫学习记录】(十三)在阿里云服务器上运行爬虫
- 【Python3.6爬虫学习记录】(十一)使用代理IP及用多线程测试IP可用性--刷访问量
- [python学习] 简单爬取图片网站图库中图片