今天学习了使用Python的第三方模块requests来发送网络请求获取html页面,现在就以爬取csdn首页面作为一个例子说一下
class CSDNSpider:
def __init__(self):
self.headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"}
def run(self, url):
# 发送请求
response = requests.get(url, headers=self.headers)
# 保存页面
with open("csdn.html", "w", encoding="utf-8") as f:
f.write(response.content.decode())
if __name__ == '__main__':
csdnSpider = CSDNSpider()
csdnSpider.run("https://www.csdn.net/")
这个比较简单没有太多的东西,首先使用get传送url地址来发送请求,通过response.content或response.text获取数据,前者接受bytes类型数据后者接收str类型数据,发送带header的请求来模拟浏览器欺骗服务器,如果不够可以多添加一些参数。
最后csdn.html就爬取下来了