在如今互联网这么发达的情况下,我们干什么事情最多?
当然是使用APP,跟浏览网页
今天就给大家演示一个如果通过python读取网页源代码的小示例
python读取网页有很多库,但我个人比较侵向于requests这个库,简单好用
首先利用命令行安装requests 库,不出意外的话然后经过下面一大堆的输出就可以安装完成了
PS D:\py_example> pip install requests
Collecting requests
Downloading requests-2.18.4-py2.py3-none-any.whl (88kB)
100% ████████████████████████████████ 92kB 117kB/s
Collecting chardet=3.0.2 (from requests)
Using cached chardet-3.0.4-py2.py3-none-any.whl
Collecting certifi>=2017.4.17 (from requests)
Downloading certifi-2017.11.5-py2.py3-none-any.whl (330kB)
100% ████████████████████████████████ 337kB 339kB/s
Requirement already satisfied: idna=2.5 in d:\software\python36\lib\site-packages (from requests)
Requirement already satisfied: urllib3=1.21.1 in d:\software\python36\lib\site-packages (from requests)
Installing collected packages: chardet, certifi, requests
Successfully installed certifi-2017.11.5 chardet-3.0.4 requests-2.18.4
然后简单几句就可以输出网页的源码了,这对我们将来做一些网页的处理将会非常简单
importrequests
r = requests.get('https://www.python.org')
print(r.text)
当然有些网页会限制浏览器,这个时候你就可以改变你的user-agent去假冒浏览器
比如这个就可以伪造Chrome去访问网站
importrequests
headers = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36'}
r = requests.get('https://www.baidu.com',headers=headers)
print(r.headers)
其它更多的用法可以参考:http://docs.python-requests.org/en/master/user/quickstart/
但是很多时候我们要用机器访问网页都是需要把内容保存下来,为后面的操作做准备。这个时候就要需要文件操作
文件操作的语法示例如下,不需要导入任何模块,直接写语句就可以
importrequests
headers = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36'}
r = requests.get('https://www.python.org',headers=headers)
#print(r.headers)
file =open('example.txt','w')
# 'r' : 只读
# 'w' : 写入
# 'x' : 用来创建或者写入一个文件
# 'a' : 追加
# 'r+' : 读写在同一个文件中
file.write(r.text)
file.close()
领取专属 10元无门槛券
私享最新 技术干货