js 爬虫抓取网页数据(Python3网络爬虫基本操作(二):静态网页抓取(组图))

优采云 发布时间: 2022-04-03 01:02

  js 爬虫抓取网页数据(Python3网络爬虫基本操作(二):静态网页抓取(组图))

  Python3网络爬虫基本操作(二):静态网页抓取

  一.前言

  Python版本:Python3.X

  运行环境:Windows

  IDE:PyCharm

  上一篇博文之后,相信大家对爬虫有了一定的了解。在本文中,我们将系统地讲解如何抓取静态网页资源。(本人也是爬虫的初学者,只是把学到的知识总结一下,分享给大家,如有错误,请指出,谢谢!)

  二.静态网页抓取1.安装请求库

  打开cmd输入:(详细安装教程请参考上一篇博客)

  pip install requests

  2.获取网页对应的内容

  在 Requests 中,常见的功能是获取网页的内容。现在我们以 Douban() 为例。

  import requests

link = "https://movie.douban.com/chart"

headers = {

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

}

req = requests.get(link, headers=headers)

print("响应状态码:", req.status_code)

print("文本编码:", req.encoding)

print("响应体:", req.text)

  这将返回一个名为 req 的响应对象,我们可以从中获取所需的信息。上述代码运行结果如图:

  

  (1)req.status_code 用于检测响应状态码。

  (所有状态码的详细信息:%E7%8A%B6%E6%80%81%E7%A0%81/5053660?fr=aladdin)

  

  (2)req.encoding 是用于服务器内容的文本编码格式。

  (3)req.text 是服务器响应内容。

  (4)req.json() 是 Requests 中内置的 JSON *敏*感*词*。

  3.自定义请求(1)获取请求

  有时为了请求特定的数据,我们经常需要在 URL 中添加一些数据。在构建 URL 时,我们通常会在数据后面加上一个问号,并将其作为键/值放在 URL 中,例如。(这里是传递 start=0 到)

  在 Requests 中,您可以将参数直接放入字典中,并使用 params 构建到 URL 中。

  例如:

  import requests

key = {'start': '0'}

req = requests.get('https://movie.douban.com/top250', params=key)

print("URL正确编码", req.url)

  运行结果:

  

  (2)自定义请求头

  请求标头标头提供有关请求、响应或其他发送实体的信息。对于爬虫来说,请求头非常重要。如果没有指定请求头或请求头与实际网页不同,则可能无法得到正确的结果。我们如何获取网页的请求头呢?

  我们以( )为例,进入网页检测页面。下图中箭头所指的部分就是网页的Requests Headers部分。

  

  提取其中的重要部分并编写代码:

  运行结果:

  

  三.项目实践

  我们以它为例进行实践,目的是获取起点中文网月票榜上的100本书的名字。

  1.网站分析

  打开起点中文网月票榜的网页,使用“检查”查看网页的请求头,写下我们的请求头。

  

  请求头:

  headers = {

'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36',

'Host': 'www.qidian.com'

}

  第一个只有 20 本书,如果你想得到所有 100 本书,你需要总共得到 5 页。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线