详解抓取网站,模拟登陆,抓取动态网页的原理和实现(Python,C#等) 版本:v1.1 Crifan Li 摘要 本文主要介绍了抓取网站,模拟登陆,抓取动态网页相关的逻辑,原理和如何实现。 主要包括: • 抓取网页,模拟登陆等背后的通用的逻辑和原理 • 以提取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 本文章遵从:署名-非商业性使用 2.5 中国大陆(CC BY-NC 2.5) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 目录 前言 1. 本文目的 1. 网站抓取,模拟登陆,抓取动态网页的通用逻辑 2. 如何抓取静态网页并提取特定内容 3. 如何模拟登陆网站 3.1. (多种语言实现)模拟登陆百度 3.2. (多种语言实现)模拟登陆gogole 4. 如何抓取动态网页并提取特定内容 4.1. 抓取动态网页示例:网易163博客的心情随笔FeelingCard 5. 抓取静态或动态网页和模拟登陆的注意事项和总结 参考书目 前言 目录 1. 本文目的 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 章 如何抓取静态网页并提取特定内容 [提 相关旧帖 示] 【教程】抓取网并提取网页中所需要的信息之 Python版 【教程】抓取网并提取网页中所需要的信息之 C#版 第 3 章 如何模拟登陆网站 目录 3.1. (多种语言实现)模拟登陆百度 3.2. (多种语言实现)模拟登陆gogole 下面,给出足够多的例子: 3.1. (多种语言实现)模拟登陆百度 先去用工具分析逻辑: 【教程】手把手教你如何利用工具(IE9的F12)去分析模拟登陆网站(百度首页)的内部逻辑 过程 再去用代码实现,此处,目前已经实现了: • C#版 【教程】模拟登陆网站之 C#版(内含两种版本的完整的可运行的代码) • Python版 【教程】模拟登陆网站之 Python版(内含两种版本的完整的可运行的代码) • Java版 【教程】模拟登陆百度之Java代码版 • Go语言版 【记录】用go语言实现模拟登陆百度 3.2. (多种语言实现)模拟登陆gogole 另外,也弄了个,模拟登陆google: 【记录】模拟登陆google 第 4 章 如何抓取动态网页并提取特定内容 目录 4.1. 抓取动态网页示例:网易163博客的心情随笔FeelingCard 先去看看: 【教程】如何抓取动态网页内容 搞懂,抓取动态网页的逻辑。 再去看下面的例子: 4.1. 抓取动态网页示例:网易163博客的心情随笔FeelingCard 【记录】给BlogsToWordPress添加支持导出网易的心情随笔 【教程】以抓取网易博客帖子中的最近读者信息为例,手把手教你如何抓取动态网页中的 内容 【记录】用Python解析网易163博客的心情随笔FeelingCard返回的DWR-REPLY数据 第 5 章 抓取静态或动态网页和模拟登陆的注意事项和总结 [提 相关旧帖 示] 【总结】静态网页抓取,动态网页抓取,模拟登陆的注意事项和心得 参考书目 [1] 如何用Python,C#等语言去实现抓取静态网页+抓取动态网页+模拟登陆网站