Python-爬取网页的通用代码框架

 爬取网页的通用代码框架

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网络爬虫与信息提取》—嵩天

猜你喜欢

转载自blog.csdn.net/cheng6023/article/details/102834594