前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python3 爬虫学习:爬取豆瓣读书Top250(一)

python3 爬虫学习:爬取豆瓣读书Top250(一)

作者头像
python鱼霸霸
发布2020-05-04 21:10:02
2K0
发布2020-05-04 21:10:02
举报

本节课,我们试着来写一个基础的爬虫,来爬取一下豆瓣读书top250的内容;主要涉及的知识就是我们之前讲过的requests库。

网页分析

我们先选取一个待会准备爬取的网站,咱们选个较好爬的网页,豆瓣读书Top250的页面:https://book.douban.com/top250

  • 豆瓣读书Top250网页展示

豆瓣读书Top250网页展示

  • 我们需要爬的内容有四处:书名,作者/出版社/价格,一句话介绍,书本链接
  • 下面跟着我来一步一步把这些内容爬下来
源码分析

这里,我们使用谷歌浏览器自带的工具来进行分析:Network

  1. 首先,点击上面的网址,进入豆瓣读书top250榜单的页面,然后单击我们的鼠标右键,选择检查(也可以直接使用键盘按键F12):

检查网页元素

  1. 如下图所示,浏览器给了我们一个查看元素的窗口,这个窗口可能在下方,也可能在右侧,都不影响使用,鼠标单击Network:

image.png

  1. 我们发现,下方一片空白,没有任何数据,这个时候,我们使用F5刷新一下看看:
  1. 我们发现下方出现了大量的数据,这个时候我们只要选择我们需要的数据就可以了,很明显,我们这里需要点击一下top250,这个name。这里简单介绍一下几个类目名称:
  • Name:文件名称
  • Status:请求状态码
  • Type:文件内容
  • Initiator:发送请求的对象
  • Size:数据传输时的大小
  • Time:响应时间
  1. 请求地址(Request URL):book.douban.com/top250 HTTP请求方法(Request Method):get

HTTP请求方法

  1. 获取用户代理信息User-Agent,将爬虫伪装成浏览器,反 反爬机制

获取用户代理信息

获取用户代理信息

示例
#导入requests库
import requests

#将用户代理信息放入请求头中,把爬虫伪装成浏览器,注意不要忘记键值对需要加上''
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Safari/537.36'
}

#将目标地址存入变量url
url = 'https://book.douban.com/top250'

#以get方法获取网页数据并将response对象存入res
res = requests.get(url , headers = headers)

#打印网页数据
print(res.status_code)

#输出:200

我们之前讲过200表示状态码,是请求成功的意思,我们继续将网页数据打印出来看看

#打印网页文本内容
print(res.text)

输出结果

从上面输出结果可以看出,我们确实爬取到了网页数据,只是这个样子的数据对于我们非常的不友好,全是英文代码,而我们的目标数据就夹在其中。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 网页分析
    • 源码分析
      • 示例
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档