c 抓取网页数据(知道了要访问的URL地址是什么)
优采云 发布时间: 2022-02-09 00:07c 抓取网页数据(知道了要访问的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#实现网页内容爬取和模拟登陆网页,一些经验和注意事项,看这里: