爬虫和办公自动化(四)

复习:爬虫和办公自动化(三)
解析数据BeautifulSoup("<html>HTML文本</html>“,"html.parser")
html.parser:解析器
BeautifulSoup对象:
find()和find_all()方法:对网页源代码初步筛选

  • find() 返回符合条件的首个数据 返回值是Tag对象
  • find_all() 返回符合条件的所有数据 返回值是Tag对象组成的列表

Tag对象的常用属性与方法:

  • tag.find() 返回符合条件的首个数据
  • tag.find_all() 返回符合条件的所有数据
  • tag.text 获取标签的文本内容
  • tag[‘属性名’] 获取标签HTML属性的值

静态网页爬虫的过程:
网址——requests——Responsse 对象(res.text)——BeautifulSoup——BeautifulSoup对象——find()/find_all()方法——找到数据——tag.text/tag[‘属性名’]

**

爬虫和办公自动化(四)

**

爬取整个网站

以豆瓣读书为例,当我们点击第二页后,观察浏览器的地址栏,发现网址变了。网址变成了 https://book.douban.com/top250?start=25,和原来相比后面多了一个 ?start=25

这部分被称为 查询字符串查询字符串作为用于搜索的参数或处理的数据传送给服务器处理,格式是 ?key1=value1&key2=value2

? 前面是网页的地址,后面是查询字符串。以键值对 key=value 的形式赋值,多个键值对之间用 & 连接在一起。例如 ?a=1&b=2 表示:a 的值为 1,b 的值为 2。

查询字符串用于信息的传递,服务器通过它就能知道你想要什么,从而给你返回对应的内容。比如你在CSDN搜索 python,网址会变成https://so.csdn.net/so/search/s.do?q=python&t=&u=,后面的查询字符串告诉服务器你想要的是有关 python 的内容,于是服务器便将有关 python 的内容返回给你了。

多翻几页豆瓣读书的页面,观察一下网址的变化规律:

  • 第二页:https://book.douban.com/top250?start=25
  • 第三页:https://book.douban.com/top250?start=50
  • 第十页:https://book.douban.com/top250?start=225

因为每页展示 25 本书,第一页 start 是 0,第二页 start 是 25,第三页 start 是 50,第十页 start 是 225。因此 start 的计算公式为 start = 25 * (页码数 - 1)(25 为每页展示的数量)。

可以通过代码自动生成豆瓣图书 Top250 所有数据(10 页)的地址:

url = 'https://book.douban.com/top250?start={}'
# num 从 0 开始因此不用再 -1
urls = [url.format(num * 25) for num in range(10)]
print(url
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值