c 抓取网页数据(知道了要访问的URL地址是什么)

优采云 发布时间: 2022-02-09 00:07

  c 抓取网页数据(知道了要访问的URL地址是什么)

  1.我知道要访问的URL地址是什么

  请求网址

  2.【可选】如果是GET方法,是否还有其他参数

  这个参数:

  3.判断是GET还是POST方法

  4.添加对应的标头(Header)信息

  即请求头

  5.【可选】如果是POST方式,还需要填写对应的数据

  这个数据:

  换句话说:

  如果是 GET,则没有 POST 数据。

  提示:所以,在你在 IE9 中通过 F12 抓取的内容中,你会看到对于所有的 GET 请求,对应的“请求体”都是空的。

  6.其他一些你可能需要准备的东西

  (1)代理代理

  (2)设置最大超时超时时间

  (3)有没有cookie

  提交HttpRequest,就可以得到这个http请求的response Response(访问URL后要做的工作)

  1.得到对应的响应

  2.从响应中获取对应的网页源码等信息

  (1)获取返回网页的HTML源代码(或json等)

  (2)[可选] 必要时也获取对应的cookie

  (3)[可选]判断返回的一些其他相关信息,如响应码等。

  【网页抓取时的注意事项】

  1.网页跳转重定向

  (1)直接跳转

  (2)间接跳转

  A.javascript脚本中有对应的代码实现网页跳转

  B、自身返回的HTML源码中收录刷新动作,实现网页跳转

  爬网后,如何分析得到想要的内容

  一般来说,当你访问一个 URL 地址时,返回的内容大部分是网页的 HTML 源代码,还有其他形式的内容,比如 json 等。

  我们要的是从返回的内容(HTML或者json等)中提取出我们需要的具体信息,也就是对其进行处理,得到需要的信息。

  据我所知,有几种方法可以实现提取所需信息:

  1. 对于 HTML 源代码:

  (1)如果是Python的话,可以通过调用第三方Beautifulsoup库调用

  然后调用find等函数提取相应的信息。

  这部分内容比较复杂,需要进一步了解,可以参考:

  BlogsToWordPress v3.0 – 将百度空间、网易163等博客移至WordPress

  中的源代码。

  (2)直接使用正则表达式自行提取相关内容

  对于内容分析和提取,在很多情况下都会用到正则表达式。

  正则表达式的知识和总结,请看这里:

  [总结] 关于正则表达式 v2012-02-20

  正则表达式是一种规范/规则,您可以使用哪种语言来实现它。

  我遇到过两种语言,Python 和 C#:

  A. Python:使用re模块,常用函数有find、findall、search等。

  B:C#:使用Regex类来匹配对应的模式和匹配函数。

  有关 C# 中的正则表达式的更多信息,请参阅:

  【总结】C#中Regex的经验及注意事项

  2.对于 Json

  可以先看一下JSON的介绍:

  【组织】什么是JSON+如何处理JSON字符串

  然后看看下面如何处理Json。

  (1)使用库(函数)来处理

  A. 蟒蛇

  Python中有对应的json库。常用的是json.load,可以将json格式的字符串转换成对应的字典类型变量,非常好用。

  (2) 还是用正则表达式处理

  A. 蟒蛇

  Python 中的 re 模块,同上。

  B. C#

  C#好像没有json库,但是第三方json库有很多,但是遇到解析json字符串的时候,感觉这些库用起来还是很麻烦,所以还是用regex类来处理用它。.

  模拟登录的一般逻辑和流程网站

  至于使用C#实现网页内容爬取和模拟登陆网页,一些经验和注意事项,看这里:

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线