爬取网页的通用代码框架
import requests
def getHTMLText(url):
try:
r = requests.get(url, timeout=30);
r.raise_for_status();#如果状态不是200,引发HTTPError异常
r.encoding = r.apparent_encoding;
return r.text;
except:
return "产生异常";
if __name__=="__main__":
url = "http://www.baidu.com";
print(getHTMLText(url));
#运行结果
打印异常类型
#爬去网页的通用代码框架
import requests
def getHTMLText(url):
try:
r = requests.get(url, timeout=30);
r.raise_for_status();
r.encoding = r.apparent_encoding;
return r.text;
except Exception as e:
return "产生异常:{0}".format(e);
if __name__ == "__main__":
url = "www.baidu.com";
print(getHTMLText(url));
#运行结果
#产生异常:Invalid URL 'www.baidu.com': No schema supplied. Perhaps you meant http://www.baidu.com?
知识点:
1. if __name__=="__main__": 的理解
1. python文件有2种使用方式
- 直接作为脚本执行
- import到其他python脚本中被调用(模块重用)执行
2. 每个python文件都有一个内置变量__name__
- 当python文件直接做为脚本被执行的时候
print(__name__);
#运行结果
#__main__
- 当python文件import到其他python脚本中被调用(模块重用)执行
#aa.py
print(__name__);
if __name__ == "__main__":
print("我是{}直接作为脚本被执行".format(__name__));
else:
print("我是{}我被import到其他pyhon脚本中被调用(模块重用)执行".format(__name__));
#bb.py
import aa
print(__name__);
if __name__ == "__main__":
print("我是{}直接作为脚本被执行".format(__name__));
else:
print("我是{}import到其他pyhon脚本中被调用(模块重用)执行".format(__name__));
#运行bb.py的结果
#aa
#我是aa我被import到其他pyhon脚本中被调用(模块重用)执行
#__main__
#我是__main__直接作为脚本被执行
2. if __name__=="__main__": 的作用
当python文件import到其他python脚本中被调用(模块重用)执行,不希望被执行的函数调用可以放到if __name__ == "__main__":后边。
参考文章:
https://blog.csdn.net/zhanshen112/article/details/90551493
https://blog.csdn.net/yjk13703623757/article/details/77918633/
本文仅为学习Python记录,资料来源于中国大学MOOC《Python网络爬虫与信息提取》—嵩天