Python爬虫|数据采集与预处理

爬取某网站首页源代码并保存到HTML文件中

python代码:

以CSDN网站首页为例,简单get方法如下

import requests
url='https://www.csdn.net/'
headers={
   'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36'
}
r=requests.get(url,headers=headers)
with open("text.html",'w',encoding='utf-8')as f:
    f.write(r.text)

简单使用说明

url

其中url="",引号内填写网站网址

文件名

text.html是文件名及其扩展名

详细版本:

import requests

Python中用于导入requests库的语句。这个语句告诉Python解释器,你希望在当前的代码中使用requests库提供的功能。

requests 是一个流行的HTTP库,用于发送HTTP请求和处理HTTP响应。通过requests库,你可以轻松地编写代码来与Web服务器进行通信,例如获取网页内容、发送POST请求等。

一旦你导入了requests库,就可以使用其中定义的各种方法和函数来执行HTTP请求。例如,你可以使用requests.get()函数发送GET请求,或者使用requests.post()函数发送POST请求。

通过导入requests库,你可以利用其强大的功能来与Web服务器进行通信,从而完成各种网络任务。 

headers

={ 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36' } 

这段代码是用于构造HTTP请求头部的字典,其中包含了一个User-Agent字段。User-Agent是HTTP头部的一部分,用于标识客户端发送请求的软件类型、操作系统、软件版本等信息。

具体来说,这个User-Agent字段的值指定了客户端的浏览器类型和版本信息。在这个例子中,User-Agent字段的值是:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36

这个值告诉服务器,客户端是在Windows 10操作系统上运行的Chrome浏览器的一个版本,具体版本号是123.0.0.0。

在实际的网络请求中,设置User-Agent字段是很常见的做法。通过指定一个合适的User-Agent值,可以让服务器识别客户端的类型和版本,从而根据需要进行响应。例如,有些网站可能会根据不同的客户端类型提供不同的页面内容或功能。

在使用requests库发送HTTP请求时,可以通过设置headers参数来指定自定义的HTTP头部信息,其中就包括了User-Agent字段。这样做可以模拟不同类型的客户端发送请求,以实现各种需求。

 r=requests.get(url,headers=headers)

这行代码是使用requests库发送一个GET请求,并在请求中包含了自定义的HTTP头部信息。具体来说,url是你要访问的目标网址,headers是一个字典,包含了你自定义的HTTP头部信息,其中至少包括了User-Agent字段。

通过调用requests.get()函数,并传递urlheaders参数,你可以发送一个GET请求到指定的网址,并在请求中包含了自定义的HTTP头部信息。

这种方式可以让你模拟不同类型的客户端发送请求,以满足不同的需求。例如,在爬取网页数据时,设置合适的User-Agent字段可以避免被服务器识别为爬虫程序而拒绝服务。

总之,这行代码实现了发送一个带有自定义HTTP头部信息的GET请求到指定的网址,并将响应结果保存在变量r中,以便后续处理。

with open

("hebau.html",'w',encoding='utf-8')as f:
    f.write(r.text)

这段代码是将HTTP响应的文本内容写入到名为"hebau.html"的文件中。具体来说,它使用了Python中的open()函数来打开一个文件,然后以写入模式('w')打开该文件,同时指定了编码为UTF-8 (encoding='utf-8')。

在使用open()函数打开文件后,代码通过with语句创建了一个上下文管理器,确保在退出with代码块后自动关闭文件,这是Python中推荐的文件操作方式。

with代码块中,通过文件对象f调用write()方法,将HTTP响应的文本内容r.text写入到文件中。这样做可以将网页的HTML内容保存到名为"hebau.html"的文件中,以便后续查看或处理。

总之,这段代码实现了将HTTP响应的文本内容保存到文件中的功能。

  • 24
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
【为什么学爬虫?】        1、爬虫入手容易,但是深入较难,如何写出高效率的爬虫,如何写出灵活性高可扩展的爬虫都是一项技术活。另外在爬虫过程中,经常容易遇到被反爬虫,比如字体反爬、IP识别、验证码等,如何层层攻克难点拿到想要的数据,这门课程,你都能学到!        2、如果是作为一个其他行业的开发者,比如app开发,web开发,学习爬虫能让你加强对技术的认知,能够开发出更加安全的软件和网站 【课程设计】 一个完整的爬虫程序,无论大小,总体来说可以分成三个步骤,分别是:网络请求:模拟浏览器的行为从网上抓取数据。数据解析:将请求下来的数据进行过滤,提取我们想要的数据。数据存储:将提取到的数据存储到硬盘或者内存中。比如用mysql数据库或者redis等。那么本课程也是按照这几个步骤循序渐进的进行讲解,带领学生完整的掌握每个步骤的技术。另外,因为爬虫的多样性,在爬取的过程中可能会发生被反爬、效率低下等。因此我们又增加了两个章节用来提高爬虫程序的灵活性,分别是:爬虫进阶:包括IP代理,多线程爬虫,图形验证码识别、JS加密解密、动态网页爬虫、字体反爬识别等。Scrapy和分布式爬虫:Scrapy框架、Scrapy-redis组件、分布式爬虫等。通过爬虫进阶的知识点我们能应付大量的反爬网站,而Scrapy框架作为一个专业的爬虫框架,使用他可以快速提高我们编写爬虫程序的效率和速度。另外如果一台机器不能满足你的需求,我们可以用分布式爬虫让多台机器帮助你快速爬取数据。 从基础爬虫到商业化应用爬虫,本套课程满足您的所有需求!【课程服务】 专属付费社群+定期答疑
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值