博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python爬虫实战之图灵社区图书信息的爬取(找了久,才找到一个比较好爬取的网站)
阅读量:2338 次
发布时间:2019-05-10

本文共 1241 字,大约阅读时间需要 4 分钟。

python爬虫实战之图灵社区图书信息的爬取

程序的描述

  • 目标
    • 获取图灵社区(https://www.ituring.com.cn/book)中40本图书的书名
    • 将获取的信息以列表的形式输出到屏幕上,并加上相关的序号
  • 描述:
    • 获取翻页接口
    • 获取相关信息的位置
  • 技术路线:requests——BeautifulSoup库

准备工作

  • 获取翻页的关键字

自然而然地就看见关键字是page,修改&page就可以翻页

在这里插入图片描述

  • 获取书名和作者地在网页中的信息

    • 自然而然地看见,有四个书名,从形式上来看,三个用字符串保存,一个用标签保存。所以这里采用标签式,而用标签,重点在于分析清楚标签之间地彼此架构关系,通过对比发现< h4 > … < /h4 >,所有地h4标签里面都是书名

在这里插入图片描述

程序编写

  • 第一步,确定步骤,并将所有的步骤

    • 提交网页的url,循环获取页面 getHTMLText()
    • 对于每个页面,提取每本图书的名称getNAME()
    • 将信息输出到屏幕上 printBOOKLIST()
    • 采用main函数将所有的函数连接起来
  • 第二步,逐步完善

from bs4 import BeautifulSoupimport requests# 获取相关的网址def getHTML(url):    r = requests.get(url,timeout = 30)    r.raise_for_status()    r.encoding = r.apparent_encoding    return r.text# 对网页的text内容进行分析def paesrHTML(text,ilt):    soup = BeautifulSoup(text,'html.parser')    for i in soup('h4'):        ilt.append(i.string)# 将分析的内容进行输出def printMessage(ilt):    text = '{:<10}\t{:<10}'    print(text.format("序号","书名"))    count = 1    for i in ilt:        print(text.format(count,i))        count += 1def main():    url = "https://www.ituring.com.cn/book?tab=book&sort=hot&page="    page = 0    ilt = list()    for i in range(4):        text = getHTML(url + str(i))        paesrHTML(text,ilt)    printMessage(ilt)main()

在这里插入图片描述

总结
  • 虽然很简单,而且有点搓,但是毕竟是第一次独立的编写爬虫软件,发现很多东西并没有融会贯通,写的时候还是会看很多的参考信息

转载地址:http://rrgpb.baihongyu.com/

你可能感兴趣的文章
linux清除cache的方法
查看>>
memmove 和 memcpy的区别以及处理内存重叠问题
查看>>
费雪耶兹(Fisher–Yates) 也被称作高纳德( Knuth)随机置乱算法
查看>>
C/C++中变量的存储位置
查看>>
C++中四种强制类型转换区别详解
查看>>
RTTI
查看>>
linux gdb的详细用法 运行与断点
查看>>
删除vector中重复元素
查看>>
和为s的连续正数序列
查看>>
什么是Redis?什么是nosql?NoSQL数据库的四大分类
查看>>
为什么说Redis是单线程的以及Redis为什么这么快!
查看>>
redis的过期健删除策略以及内存淘汰机制
查看>>
redis 双写一致性问题
查看>>
map 如何使用结构体作为自定义键值
查看>>
Mysql几种索引类型的区别及适用情况
查看>>
Redis缓存穿透、缓存雪崩、redis并发问题分析
查看>>
Redis持久化的两种方式
查看>>
判断一个数组,是否可以分成两个数组之和相等的数组
查看>>
背包问题
查看>>
结构体变量之间的比较和赋值原理
查看>>