在网站设计中,纯HTML格式的网页通常被称之为静态网页,在网络爬虫中静态网页的数据比较容易抓取,因为说有的数据都呈现在网页的HTML代码中。相对而言使用Ajax动态加载的玩个的数据不一定会出现在HTML代码中,就给爬虫抓取增加了难度。
在静态网页抓取中,有一个强大的requests库能够让你轻松的发送HTTP请求,这个库功能完善,而且操作非常简单。
通过pip安装,打开cmd或terminal,键入:
pip install requests
print("文本编码", r.encoding)
print("响应状态码:", r.status_code)
print("字符串方式的响应体:", r.text)
有些网页需要对request的参数进行测试才能获取需要的数据,这包括url传参,定制请求头,发送post请求,设置超时等。
如果是自己构建URL那么数据一般会跟在一个问号后面,并且以键值对的形式存放在URL中,
除了GET请求外,又是还需要发送一些表单形式的数据,如果在登录的时候请求就为post,如果用GET请求密码就会显示在地址栏中,这非常的不安全
keydict = {'key1': '111', 'key2': '222'}
r = requests.post(link, data=keydict)
print(r.text)
有时候爬虫遇到服务器长时间不返回,这爬虫程序就会一直等待,造成爬虫程序没有顺利执行。可以在request中timeout参数设定秒数,指定时间内没有响应就返回异常,一般设置为20秒
点击查看代码