代码

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. 32位dll注入到64位程序_你用的32位还是64位?有什么区别呢?
  2. 记录自己的技术点点滴滴
  3. 关于团队建设,穆帅能教我们什么?
  4. LaTeX Test
  5. 双塔模型没效果了?请加大加粗!
  6. 优化SQL Server的内存占用之执行缓存
  7. Java substring() 方法
  8. 家里wifi网速越来越慢_家里的wifi信号不好?有了它再也不怕网速慢啦
  9. Java 习题(面向对象)
  10. 字节取消大小周,部分员工:心疼,每个月少拿 1W 块
  11. linux内核分成如下五个子系统,linux内核主要由5个子系统 Linux内核由哪几个子系统组成?...
  12. python串口模块_Python使用pip安装pySerial串口通讯模块
  13. oracle自定义函数返回一个表,oracle 自定义函数 返回一个表类型
  14. 传输预编码matlab,无线通信-预编码-MATLAB代码合集-毕设专用.zip
  15. java(模拟王老师、李老师和张老师三个老师同时分发80份学习笔记,每个老师相当于一个线程。)
  16. 实习僧招聘网站信息采集
  17. 黑苹果安装 hackintosh Lenovo Y50-70 TransMac 破解版安装
  18. GX works2 三菱PLC 显示注释后代码行变宽的解决方法
  19. 浅谈设计模式-依赖倒转(倒置)原则
  20. vue 设置滚动条的位置

热门文章

  1. 东北大学22春学期《概率论X》在线平时作业123
  2. 单片机实验(流水灯)(c语言程序),51单片机c语言_单片机流水灯c语言程序_单片机c语言入门...
  3. phpStorm下载安装图文教程
  4. React 可视化开发工具 shadow-widget 最佳实践(上)
  5. 微型计算机原理与接口技术(慕课版),微机原理与接口技术
  6. 有限元分析的基本知识 (一份培训资料) (1)
  7. 禁忌搜索算法(现代优化计算方法)
  8. 客户信息管理系统4—客户信息的查询
  9. 如何长时间保存记忆,分享我的数据备份大法
  10. ubuntu16.04利用SVN下载文件