爬取豆瓣图书排行榜前十并使用图表的形式展示

本文介绍了使用Python中的requests模块爬取豆瓣图书排行榜前十名的方法,适合初学者了解爬虫基础。提供了获取Python学习资料的联系方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

爬取豆瓣图书

最近在学习爬虫的基础使用,发现最好爬的网站就是豆瓣了,随随便便都是可以爬到数据。
下面就是使用Python中间的requests模块实现豆瓣图书排行榜的爬取:

import requests
from lxml import etree
import urllib3
from matplotlib import pyplot as plt
import matplotlib
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['axes.unicode_minus'] = False
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"
}
url = 'https://book.douban.com/'
def get_url(url):
    dict_book = {}
    response = requests.get(url, verify=False).text
    response = etree.HTML(response)
    for i in range(0,10):
        ret = response.xpath('//*[@id="content"]/div/div[1]/div[4]/div[2]/ul/li['+ str(i+1)+']/div[2]/h4/a/text()')
        grade = response.xpath('//*[@id="content"]/div/div[1]/div[4]/div[2]/ul/li['+ str(i+1)+']/div[2]/p[1]/span[2]/text()')
        grade = ''.join(grade).strip()
        dict_book[''.join(ret)] = grade
    return dict_book
def show_date(dict_book):
    name = list(dict_book.keys())
    value = []
    for i in dict_book.values():
        i = float(i)
        value.append(i)
    print(name, value)
    plt.barh(range(10), value)
    plt.yticks(range(10), name)
    plt.xlim(0, 10)
    plt.xlabel('价格')
    plt.title('豆瓣图书评分')
    for x, y in enumerate(value):
        plt.text(y + 0.5, x - 0.1, '%s' % y)
    plt.show()
dict_book = get_url(url)
show_date(dict_book)

想要获取Python学习资料的小伙伴可以加QQ:728711576

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值