Python爬虫01

发布时间 2024-01-07 01:08:17作者: 黑猫魔法师

Python爬虫 01

爬虫是一种自动化的数据收集系统中的一种,写网络爬虫的目的在于高效、快速的收集网络上自己所需要的数据或者基于爬虫技术编写网站自动测试脚本。
学习爬虫需要的前置技术:html、JavaScript、http协议、一门编程语言。

为什么需要htnml、JavaScript、http协议?

因为互联网上的数据90%是以html的形式呈现的,所以学习爬虫需要了解html的结构和主要标准。互联网主流的通信协议是http协议,所以学习爬虫需要的另外一个知识点是http协议。了解http协议才能知道怎么发起一个正常的http请求,去请求自己所需要的数据。JavaScript的作用在于对动态网页的分析和爬取。
编程语言采用的是python3.6,因为python简单。

爬虫第一步,发起请求。

为什么可以这样,涉及计算机网络相关知识。就略过不谈。我们主要的看这个代码做了什么事。

from urllib.request import  urlopen
if __name__ == '__main__':
    html = urlopen("https://developer.mozilla.org/zh-CN/"); # 需要请求的网页地址
    s = html.read() #读取响应的数据
    print(s) # 输出到控制台
    with open('data.html','a',encoding='utf-8') as f:   # a 追加写入。打开一个文件,追加写入
        f.write(s.decode('utf-8'))

现在,我们就完成了一个爬虫,是不是很简单。在上面代码中, urlopen() 函数的作用是打开一个url为括号中的值的网页。该网页是个html,该html的数据类型是Request object.,然后从html中读取数据到变量s中。最后输出到控制台。
如果需要持久化存储数据,就需要使用python的文件API打开一个文件。把爬取到的数据存入文件中,在未来进行数据分析或者其它用途。
简单的网页,可以直接使用该方法进行下载,但一些有反爬机制的网页使用这个方法就完全不行。因为我们不是一个正常的http请求,而是一个爬虫http请求。所以我们下一步是需要进行一些伪装,然后取获取数据。