首页 > 编程语言 >通过requests库使用HTTP编写的爬虫程序

通过requests库使用HTTP编写的爬虫程序

时间:2023-10-27 11:37:09浏览次数:41  
标签:HTTP 请求 爬虫 duokan requests response

使用Python的requests库可以方便地编写HTTP爬虫程序。以下是一个使用requests库的示例:

通过requests库使用HTTP编写的爬虫程序_IP

import requests

# 发送HTTP GET请求
response = requests.get("http://example.com")

# 检查响应状态码
if response.status_code == 200:
    # 获取响应内容
    html = response.text
    
    # 处理响应内容
    # ...
else:
    print("请求失败,状态码:", response.status_code)

在这个示例中,我们首先使用requests库的get方法发送了一个HTTP GET请求,请求的URL是"http://example.com"。然后,我们通过response对象可以获取响应的状态码(status_code)和内容(text)。

如果响应的状态码是200,表示请求成功,我们可以通过response.text获取响应的HTML内容,然后对内容进行处理。如果状态码不是200,表示请求失败,我们可以根据实际情况进行相应的处理。

除了发送GET请求,requests库还提供了其他常用的HTTP方法,如POST、PUT、DELETE等,可以根据具体需求选择适合的方法。

以下是使用requests库编写的另一个爬虫程序,该程序用于爬取duokan的内容。在代码中,我们使用了爬虫IP服务器。

import requests # 导入requests库

# 创建一个使用爬虫IP的session
proxy = {'http': 'http://www.duoip.cn:8000'}
s = requests.Session()
s.proxies = proxy

# 发送GET请求到www.duokan.com
r = s.get('https://www.duokan.com/')

# 打印请求的结果
print(r.text)

程序解释:

1、导入requests库,该库用于发送HTTP请求。

2、创建一个使用爬虫IP的session。这里的proxy是一个字典,其中http为爬虫IP服务器的地址和端口。

3、使用session发送一个GET请求到duokan。

4、打印请求的结果,即duokan的内容。

此外,requests库还提供了许多其他功能,如设置请求头、处理Cookies、处理重定向、处理代理等。可以查阅requests库的官方文档以了解更多详细信息。

总之,使用requests库可以轻松地发送HTTP请求,并获取响应的内容。通过合理地使用requests库的各种功能,可以编写出功能强大的爬虫程序。

标签:HTTP,请求,爬虫,duokan,requests,response
From: https://blog.51cto.com/u_13488918/8051953

相关文章

  • https://www.modb.pro/db/1717179181560324096 --转载 Oracle 批量更新(BULK)优化技巧
    面对一个需要更新大量数据的任务,我平时的处理方法是通过循环,每N行提交来完成这个任务。这样做的两个主要原因:1、频繁地提交大量小事务比处理和提交一个大事务更快,也更高效2、没有足够的UNDO空间今天在学到了一种新的解决思路,在此记录一下方便后面使用。  假设我们有一个表T,......
  • scrapy中爬虫数据如何异步存储mysql数据库jd
    1.SQLCREATETABLE`JDAll`(`shop_id`VARCHAR(16)NOTNULL,//商品ID`url`VARCHAR(255)DEFAULTNULL,//商品url`title`VARCHAR(1024)DEFAULTNULL,//商品标题`brand`VARCHAR(255)DEFAULTNULL,//品牌`brand_url`VARCHAR(1024)DEF......
  • 2023-10-26 无法访问此网站网址为 http://xxx.yy.com/ 的网页可能暂时无法连接,或者它
    新购一域名,并添加了解析,保存后若干分钟访问该域名,报错显示:原因,我给域名添加的解析地址不正确,所以导致无法找到该服务器,故而报错。看到圈中的【记录值】了吗,这里应该填你的服务器公网ip,如果填错了就无法访问。解决方案,前往你的服务器管理后台,找到域名解析的地方,重新修改解析地......
  • httprunner2.5.7+python3安装报错解决
    1.执行hrun-V报错:ImportError:cannotimportname'Iterable'from'collections'将fromcollectionsimportIterable修改成fromcollections.abcimportIterable 2.执行hrun-V报错:ImportError:cannotimportname'soft_unicode'from'......
  • chrome新版本http自动跳转https问题解决
    虽然是个好功能,但是部分内网业务还没做好https兼容,有的时候手工访问,还是变成https 解决办法:chrome://flags/找到:HTTPSUpgrades,修改disabled,重启解决,当然这个需要需要用户去调整,真正还需要服务去兼容https  ......
  • 使用fluent api调用https接口时忽略证书异常
    不知道为啥,中文互联网对脱胎于httpclient的fluentapi介绍太少了,遇到问题也不知道怎么查,只能自己研究,于是遇到问题赶紧记下来一般情况下我们使用fluent的get方法调用http接口的方式是这样的Request.get(url).connectTimeout(Timeout.ofMilliseconds(5000)).e......
  • LR录制https协议脚本前配置
    LR录制https安全协议脚本前的设置在IE中添加安全证书打开IE浏览器,选择“工具—Internet选项—内容”,点击“证书”导入相应的证书,如下图在LR中配置证书获取pem格式证书因为loadrunner只支持pem格式的证书,所以要将证书转换格式;这里就需要用到openssl工具,进入cmd命令窗口,进入openssl的......
  • Java - InputStream流Http客户端文件上传
    场景:两个系统文件服务不同,需从另外一个系统中下载文件并上传到另外一个系统中。代码实现//远程服务下载文件Responseresponse=fileCenterService.downloadFile(fileId);InputStreaminputStream=response.body().asInputStream();//调用接口上传到文件服务HttpClienth......
  • HttpServletResponse
    2023.10.251.可以设置http头标response.setHeader("Refresh","3");//三秒刷新页面一次2.可以设置cookieCookiec1=newCookie("username","only");response.addCookie(c1);3.可以输出返回数据HttpServleteResponse.getOutputStream().write();......
  • python的requests发送/上传多个文件(转)
    原文:https://blog.csdn.net/five3/article/details/74913742作者:上帝De助手 1、需要的环境Python3.XRequests库2、单字段发送单个文件在requests中发送文件的接口只有一种,那就是使用requests.post的files参数,请求形式如下:url="http://httpbin.org/post"data=No......