爬取网页的通用代码框架
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网络爬虫与信息提取》—嵩天