码迷,mamicode.com
首页 > 其他好文 > 详细

Requests

时间:2020-04-27 22:49:58      阅读:63      评论:0      收藏:0      [点我收藏+]

标签:dict   color   用户   head   load   port   cmd   htm   完成   

最友好的网络爬虫库

1. requests库的安装

采用pip安装方式,在cmd界面输入:

pip install requests 

2. 示例代码

我们将处理http请求的头部处理来简单进行反反爬虫处理,以及代理的参数设置,异常处理等。

 1 import requests
 2  
 3  
 4 def download(url, num_retries=2, user_agent=wswp, proxies=None):
 5     ‘‘‘下载一个指定的URL并返回网页内容
 6         参数:
 7             url(str): URL
 8         关键字参数:
 9             user_agent(str):用户代理(默认值:wswp)
10             proxies(dict): 代理(字典): 键:‘http’https
11             值:字符串(‘http(s)://IP’)
12             num_retries(int):如果有5xx错误就重试(默认:213             #5xx服务器错误,表示服务器无法完成明显有效的请求。
14             #https://zh.wikipedia.org/wiki/HTTP%E7%8A%B6%E6%80%81%E7%A0%81
15     ‘‘‘
16     print(==========================================)
17     print(Downloading:, url)
18     headers = {User-Agent: user_agent} #头部设置,默认头部有时候会被网页反扒而出错
19     try:
20         resp = requests.get(url, headers=headers, proxies=proxies) #简单粗暴,.get(url)
21         html = resp.text #获取网页内容,字符串形式
22         if resp.status_code >= 400: #异常处理,4xx客户端错误 返回None
23             print(Download error:, resp.text)
24             html = None
25             if num_retries and 500 <= resp.status_code < 600:
26                 # 5类错误
27                 return download(url, num_retries - 1)#如果有服务器错误就重试两次
28  
29     except requests.exceptions.RequestException as e: #其他错误,正常报错
30         print(Download error:, e)
31         html = None
32     return html #返回html
33  
34  
35 print(download(http://www.baidu.com))

 

结果:

 1 Downloading: http://www.baidu.com
 2 <!DOCTYPE html>
 3 <!--STATUS OK-->
 4 ...
 5 </script>
 6  
 7 <script>
 8 if(navigator.cookieEnabled){
 9     document.cookie="NOJS=;expires=Sat, 01 Jan 2000 00:00:00 GMT";
10 }
11 </script>
12  
13  
14  
15 </body>
16 </html>

 

 

 

 

 

转载于:https://my.oschina.net/u/3849396/blog/3000124

Requests

标签:dict   color   用户   head   load   port   cmd   htm   完成   

原文地址:https://www.cnblogs.com/Liguangyang/p/12790403.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!