代码

github

目的

dart 服务端爬虫实践

目标网站

  • 妹子图

  • 豆瓣影评

使用库

  • http : 类似fetch的请求库

  • dom : 类似服务端的jquery,对请求到的HTML,筛选解析

  • image: 图片下载保存

功能

  • 解析目标网页,获取内容JSON

  • 下载目标图片

代码

妹子图

根据目标页面元素,获取图片地址

getImage([page = 1]) async {try {var headers = {'User-Agent':'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1'};var res = await http.get(page == 1? 'https://www.mzitu.com': 'https://www.mzitu.com/page/$page/',headers: headers);if (res.statusCode == 200) {String body = res.body;Document dom = parse(body);var imgs = dom.querySelectorAll('#pins > li > a > img');imgs.forEach((v) {String filename = v.attributes['alt'];Download.image(v.attributes['data-original'],filename.replaceAll(' ', ''),{'Referer': 'https://www.mzitu.com/'});});}} catch (e) {print(e);}
}

图片下载

妹子图下载需要设置referer

class Download {// 下载图片static image(url, fileName, [Map<String, String> headers]) async {try {var res = await http.get(url, headers: headers);var image = img.decodeImage(res.bodyBytes);await File('./img/${fileName}.png').writeAsBytes(img.encodePng(image));} catch (e) {print(e);}}
}

豆瓣

douban([page = 1]) async {try {var headers = {'User-Agent':"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36"};var res = await http.get('https://movie.douban.com/subject/3882715/reviews?start=${20 * page}',headers: headers);if (res.statusCode == 200) {String body = res.body;Document dom = parse(body);var items = dom.querySelectorAll('.main.review-item');items.forEach((v) {String name = v.querySelector('.name').text.trim();String avator = v.querySelector('.avator img').attributes['src'];String content = v.querySelector('.short-content').text.trim();String time = v.querySelector('.main-meta').text.trim();print({'name': name, 'avatar': avator, 'content': content, 'time': time});});}} catch (e) {print(e);}
}

展示

相关

IP代理池构建

dart 爬取 妹子图 豆瓣影评相关推荐

  1. python爬虫爬妹子图_【爬虫】直接上干货-爬取妹子图整站图片

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #coding=utf-8 import os import requests from lxml import etree import time cl ...

  2. 基于selenium+scrapy爬取复仇者联盟4豆瓣影评数据

    基于selenium+scrapy爬取复仇者联盟4豆瓣影评数据 参考资料: 黑马程序员爬虫教程 静觅爬虫教程 mac下anaconda安装selenium+PhantomJS scrapy下载中间件结 ...

  3. python爬取妹子图片1_【爬虫】直接上干货-爬取妹子图整站图片

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #coding=utf-8 import os import requests from lxml import etree import time cl ...

  4. 【Python】从爬虫开始吧——爬取妹子图整站

    首先得解决环境和工具的问题 Python基础教程 Python3基础教程 大家也可以去慕课网看视频学习哦,关于选择Python2还是Python3的问题,上手的话还是直接选择3吧. 关于爬虫 爬虫就是 ...

  5. 用 Python 爬取 500 条豆瓣影评,看看《蚁人2》是否有看点?

    作者 | 量化小白H 责编 | 郭芮 "不以大小论英雄."<蚁人2>已热映多天,本文就来看看豆瓣电影上的这部片子评分如何,从代码和数据层面给出最客观的解读. 作为练手, ...

  6. Python爬虫入门教程:爬取妹子图网站 - 独行大佬

    妹子图网站---- 安装requests打开终端:使用命令pip3 install requests等待安装完毕即可使用接下来在终端中键入如下命令?123# mkdir demo # cd demo# ...

  7. python多线程爬取妹子图网站_python爬取妹子图全站全部图片-可自行添加-线程-进程爬取,图片去重...

    from bs4 import BeautifulSoup import sys,os,requests,pymongo,time from lxml import etree def get_fen ...

  8. Python爬虫福利:带你爬取妹子图上的美女图片,学习改变生活

    学习python爬虫,总得实战演练一下才能真正有所收获.今天我们就来用python爬虫爬取妹子图,哇~全是美女哦!那么,我们步入正题吧! 看完这篇文章,你将会用python爬虫做到这样: 首先我们打开 ...

  9. python scrapy 爬取妹子图的照片

    主要描述在windows 上如何用scrapy抓取煎蛋网妹子图所有的图片下载. 软件准备:winpython,啥都不说了,ipython很好用. 安装scrapy,进入winpython 执行scra ...

  10. 用scrapy爬取妹子图网的图片,附上源代码

    实现这个是因为之前在谋个公众号里面看到一篇文章,关注了也拿不到源代码 ,所以就自己写了一个爬取这个网站图片的功能.个人觉得这个网站的图片就一般吧. 开始 环境,py3, win, linux下运行都是 ...

最新文章

  1. Lyft估值目标近200亿美元 有望成今年来美国最大IPO
  2. HEOI 2012 旅行问题
  3. 英伟达推出Super显卡,老黄再现精准“刀法”,网友:都是被AMD逼的
  4. C 语言编程 — 高级数据类型 — 数组
  5. JavaScriptDOM
  6. 《复杂》读书笔记(part6)--计算机中的自我复制
  7. 在Logstash中配置多个管道
  8. clearTaskOnLaunch的作用,自己总结,求关注
  9. Python中的numpy.ones()
  10. 选择JSF不选Struts的十大理由
  11. 【315天】每日项目总结系列053(2017.12.17)
  12. Atitit 游戏的原理与概论attilax总结
  13. 编程语言为什么不能用中文
  14. 二甲苯酚的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  15. 使用中文维基百科语料库训练一个word2vec模型 12.1
  16. 解决ORA-00054错误
  17. Table was not locked with LOCK TABLES
  18. NLP实战之HAN文本分类
  19. java飘动_OpenGL -- 飘动的旗帜 (java)
  20. 用 BeautifulSoup 解析器分析 RSS

热门文章

  1. linux .bin文件反编译,ARM的BIN文件反汇编方法
  2. 软件测试经典面试题30道
  3. C++句柄类 [ 资深博主 ]
  4. 系统修复-菜鸟也DIY
  5. 每日一问 --信源编码的过程?
  6. 人行横道——步行管理(交通运行管理)
  7. 记录几个视频处理软件
  8. hp 服务器 无线网卡,惠普HP 615 无线网卡驱动
  9. 立体井字棋NOIP17提高模拟训练5
  10. case 在oracle和mysql_Mysql oracle casewhen 完美应用