函数定义:
def getHTMLText(url):#基础爬虫函数框架
try:
r=requests.get(url,timeout=30)
r.raise_for_status()#如果状态不是200,会引发HTTPError异常
r.encoding=r.apparent_encoding
print("第{}次爬取成功!".format(i))
except:
print("第{}产生异常!".format(i))
这是基础的爬虫入门函数,建议多多练习。
这里我爬取的是哔哩哔哩的官网,哈哈,哔站还是有很多资源的。当然这不是给哔哩哔哩官网打广告啦!大家也可以尝试爬取其他的网站,一步一步精进。
其中
r.raise_for_status()
它的作用是,如果状态值返回不是200的话,直接执行except部分的函数。
给出完整的代码,大家可以自己尝试修改一次,了解其中代码的用途。
import requests
import time
def getHTMLText(url):#基础爬虫函数框架
try:
r=requests.get(url,timeout=30)
r.raise_for_status()#如果状态不是200,会引发HTTPError异常
r.encoding=r.apparent_encoding
print("第{}次爬取成功!".format(i))
except:
print("第{}产生异常!".format(i))
start=time.time()
for i in range(1,101):
getHTMLText()
end=time.time()
print("总用时{}".format(end-start))
给大家一个提示,如果程序一直爬取异常的话可能以这么几种原因:
- 电脑没有连接网络
- 你所给出的网址可能有问题,外网的话,当然就需要VPN了
- 检查一下自己的代码有没有打错,小编我就在requests这吃了亏,尝试了好久才发现少了一个s。关键是,这个地方他不报错。
希望大家持续关注我。
转载:https://blog.csdn.net/qq_35759159/article/details/101461942
查看评论