摘要本文主要介绍了抓取网站,模拟登陆,抓取动态网页相关的逻辑,原理和如何实现。主要包括:

  • 抓取网页,模拟登陆等背后的通用的逻辑和原理
  • 以提取songtaste网页中标题为例,详解如何抓取网站并提取网页内容
  • 以模拟登陆百度为例,详解如何模拟登陆网站
  • 以抓取网易博客帖子中的最近读者信息为例,详解如何抓取动态网页中的内容
  • 详解了在模拟登陆和抓取动态网页过程中,如何用对应的网页分析工具,如IE9的F12,Chrome的Ctrl+Shift+J,Firefox的Firebug,去分析出对应的逻辑
  • 针对抓取网站,模拟登陆,抓取动态网页,全部给出了完整的可用的,多种语言的示例代码:Python,C#,Java,Go等
本文提供多种格式供:
在线阅读 HTML HTMLs PDF CHM TXT RTF WEBHELP
下载(7zip压缩包) HTML HTMLs PDF CHM TXT RTF WEBHELP

HTML版本的在线地址为:http://www.crifan.com/files/doc/docbook/web_scrape_emulate_login/release/html/web_scrape_emulate_login.html有任何意见,建议,提交bug等,都欢迎去讨论组发帖讨论:http://www.crifan.com/bbs/categories/web_scrape_emulate_login/

2013-09-22
修订历史
修订 1.1 2013-09-22 crl
  1. 把之前教程的地址整理过来
  2. 添加新帖子的链接:模拟登陆百度的java版,go语言版
版权 © 2013 Crifan, http://crifan.com

目录

前言
1. 本文目的
1. 网站抓取,模拟登陆,抓取动态网页的通用逻辑
2. 如何抓取静态网页并提取特定内容
3. 如何模拟登陆网站
3.1. (多种语言实现)模拟登陆百度
3.2. (多种语言实现)模拟登陆gogole
4. 如何抓取动态网页并提取特定内容
4.1. 抓取动态网页示例:网易163博客的心情随笔FeelingCard
5. 抓取静态或动态网页和模拟登陆的注意事项和总结
参考书目

前言

1. 本文目的

本文目的在于,如何从无到有的,了解抓取网站,模拟登陆,抓取动态网页方面的逻辑和具体实现。

第 1 章 网站抓取,模拟登陆,抓取动态网页的通用逻辑

相关旧帖
如何用Python,C#等语言去实现抓取静态网页+抓取动态网页+模拟登陆网站【整理】各种浏览器中的开发人员工具Developer Tools:IE9的F12,Chrome的Ctrl+Shift+J,Firefox的Firebug【总结】浏览器中的开发人员工具(IE9的F12和Chrome的Ctrl+Shift+I)-网页分析的利器【整理】关于抓取网页,分析网页内容,模拟登陆网站的逻辑/流程和注意事项【教程】如何利用IE9的F12去分析网站登陆过程中的复杂的(参数,cookie等)值(的来源)【整理】关于http(GET或POST)请求中的url地址的编码(encode)和解码(decode)【整理】关于HTML网页源码的字符编码(charset)格式(GB2312,GBK,UTF-8,ISO8859-1等)的解释【整理】网页抓取,模拟登陆,抓取动态网页内容等过程中,所涉及的Headers信息,Cookie信息,POST数据的处理逻辑【整理】关于用正则表达式处理html代码方面的建议

第 2 章 如何抓取静态网页并提取特定内容

第 3 章 如何模拟登陆网站

下面,给出足够多的例子:

3.2. (多种语言实现)模拟登陆gogole

另外,也弄了个,模拟登陆google:【记录】模拟登陆google 

第 4 章 如何抓取动态网页并提取特定内容

先去看看:

【教程】如何抓取动态网页内容

搞懂,抓取动态网页的逻辑。

再去看下面的例子:

第 5 章 抓取静态或动态网页和模拟登陆的注意事项和总结

参考书目

【转】详解抓取网站,模拟登陆,抓取动态网页的原理和实现(Python,C#等)的更多相关文章

  1. php中CURL技术模拟登陆抓取数据实战,抓取某校教务处学生成绩。

    这两天有基友要php中curl抓取教务处成绩的源码,用于微信公众平台的开发.下面笔者只好忍痛割爱了.php中CURL技术模拟登陆抓取数据实战,抓取沈阳工学院教务处学生成绩. 首先,教务处登录需要验证码 ...

  2. 使用Post方法模拟登陆爬取网页

    最近弄爬虫,遇到的一个问题就是如何使用post方法模拟登陆爬取网页.下面是极简版的代码: import java.io.BufferedReader; import java.io.InputStre ...

  3. 使用Post方法模拟登陆爬取网页(转)

    使用Post方法模拟登陆爬取网页   最近弄爬虫,遇到的一个问题就是如何使用post方法模拟登陆爬取网页.下面是极简版的代码: import java.io.BufferedReader; impor ...

  4. 减少HTTP请求之合并图片详解(大型网站优化技术)

    原文:减少HTTP请求之合并图片详解(大型网站优化技术) 一.相关知识讲解 看过雅虎的前端优化35条建议,都知道优化前端是有多么重要.页面的加载速度直接影响到用户的体验.80%的终端用户响应时间都花在 ...

  5. Java网络编程和NIO详解7:浅谈 Linux 中NIO Selector 的实现原理

    Java网络编程和NIO详解7:浅谈 Linux 中NIO Selector 的实现原理 转自:https://www.jianshu.com/p/2b71ea919d49 本系列文章首发于我的个人博 ...

  6. PHP中CURL技术模拟登陆抓取网站信息,用与微信公众平台成绩查询

    伴随微信的红火,微信公众平台成为许多开发者的下一个目标.笔者本身对于这种新鲜事物没有如此多的吸引力.但是最近有朋友帮忙开发微信公众平台中一个成绩查询的功能.于是便在空余时间研究了一番. 主要的实现步骤 ...

  7. 以正方教务系统为例,用php模拟登陆抓取课表、空教室

    课程格子和超级课程表这两个应用,想必大学生都很熟悉,使用自己的学号和教务系统的密码,就可以将自己的课表导入,随时随地都可以在手机上查看. 其实稍微了解一点php的话,我们也可以做一个类似这样的web ...

  8. Python实现网站模拟登陆

    一.实验简介 1.1 基本介绍 本实验中我们将通过分析登陆流程并使用 Python 实现模拟登陆到一个实验提供的网站,在实验过程中将学习并实践 Python 的网络编程,Python 实现模拟登陆的方 ...

  9. Python爬虫实例(四)网站模拟登陆

    一.获取一个有登录信息的Cookie模拟登陆 下面以人人网为例,首先使用自己的账号和密码在浏览器登录,然后通过抓包拿到cookie,再将cookie放到请求之中发送请求即可,具体代码如下: # -*- ...

随机推荐

  1. 【WP8】关于类库本地化问题

    WPToolkit中的ToggleSwitch开关控件是比较常用的控件,之前在做的的时候遇到一个问题,默认语言改为中文,手机系统语言也为中文,但是开关状态无法应用本地化的语言库,开关状态总是显示On/ ...

  2. UNIX环境编程学习笔记(6)——文件I/O之判断文件类型

    lienhua342014-09-01 1 文件类型 我们平时最常接触的文件类型有普通文件(regular file)和目录(di-rectory file),但是 UNIX 系统提供了多种文件类型: ...

  3. LoadRunner javavuser错误排查

    Loadrunner 9.5/11 使用java 开发vsuer script需要的环境配置 本文从两个方面来讲:windows 32位操作系统:windows 64 操作系统开始之前,先说下java ...

  4. jquery方法.serializeArray()获取name和value并转为json数组

    jquery的.serializeArray()方法可以获取形如以下 [ {name: 'firstname', value: 'Hello'}, {name: 'lastname', value: ...

  5. 1 最简单的hello world

    preface 今天我开始自学flask了,由此记录学习中的点点滴滴. 有问题请联系我(Mr.Leo 18500777133@sina.cn) include: 简介flask hello world ...

  6. unity之UGUI屏幕分辨率調整

    1.Canvas的屬性配置: 2.Canvas Scaler的屬性配置: 3.根據不同的屏幕比例動態寫改碩放基準: public float standard_width = 800f; //初始宽度 ...

  7. Qt OpenGL裁剪测试

    剪裁测试(Scissor Test)用于限制绘制区域. 我们可以指定一个矩形的剪裁窗口,当启用剪裁测试后,只有在这个窗口之内的像素才能被绘制,其它像素则会被丢弃. 换句话说,无论怎么绘制,剪裁窗口以外 ...

  8. java用substring函数截取string中一段字符串

    在String中有两个substring()函数,如下: 一:String.substring(int start) 参数: start:要截取位置的索引 返回: 从start开始到结束的字符串 例如 ...

  9. 如何使用 MasterPage

    MasterPageFile母版页 刚开始学,什么都不懂,看到了这段代码,才促使自己去研究MasterPageFile到底是什么含义.<%@ Page Language="C#&quo ...

  10. python--面向对象--14

    原创博文,转载请标明出处--周学伟http://www.cnblogs.com/zxouxuewei/ Python 面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Pyth ...