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

  • 抓取网页,模拟登陆等背后的通用的逻辑和原理
  • 以提取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. 【转】Spring Boot干货系列:常用属性汇总

    转自Spring Boot干货系列:常用属性汇总 附录A.常用应用程序属性 摘自:http://docs.spring.io/spring-boot/docs/current/reference/ht ...

  2. AsmTools

    前言 https://wiki.openjdk.java.net/display/CodeTools/asmtools 在OpenJDK里有一个AsmTools项目,用来生成正确的或者不正确的java ...

  3. Peckham添加引用文件模糊匹配智能提示

    下载地址:https://github.com/markohlebar/Peckham ​ 跟VVDocumenter规范注释生成器的安装方式一样: 下载开源工程在Xcode重新编译运行会自动安装此插 ...

  4. 【spark】jieba + wordcount

    import sys reload(sys) sys.setdefaultencoding('utf-8') from os import path import jieba from pyspark ...

  5. 使用Eclipse构建Maven项目

    http://blog.csdn.net/qjyong/article/details/9098213

  6. 在AD的环境下,更改计算机名导致TFS,无法连接解决办法

    D:\vs2015>tf workspaces /collection:http://10.1.0.104:8080/tfs/dahua.adrms /updateComputerName:WI ...

  7. mysql主从复制-方案1

    mysql主机master 1. 编辑mysql配置文件my.cnf server_id = 1                     #server_id服务器唯一标识 log_bin = mys ...

  8. [SLAM] Little about SLAM

    Books from Zhihu: 幽默一把 看完Gonzalez:嗯,好像很好玩的样子,我也来搞一搞.看完Price:什么鬼,怎么这么多公式,公式看不懂肿么破.看完Szeliski:原来用一千页的书 ...

  9. [RN] 01 - Init: Try a little bit of React Native

    Ref: React Native跨平台移动应用开发 后记:这本书博客味有点浓. 本篇涉及新建工程的若干套路,以及一点语法知识. 创建新工程 (1) 解决的一大核心问题: (2) 使用Javascri ...

  10. android studio 导入第三方库的记录

    android studio 导入第三方库的记录.jar包 和 库 一.jar包 1.jar包的话很简单,首先换成project模式,将你要用的jar包复制到lib下面.如图 2.然后右键选择Add ...