python基础语法+爬虫+图像处理+NumpyPandas数据处理(12天速成,第7天中-爬取豆瓣小说信息)

爬虫题目练习
# 爬取豆瓣前100的图书和价格并且本地化写入文件
    # 1。爬取html
    # 2、BeautifulSoup 对html解析
    # 3、找到我们需要的数据
    # 4、对数据进行处理

import requests
from bs4 import BeautifulSoup as BS

# 存爬取到的书的信息
books = {}
# 模拟浏览器
hds = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36"}
for y in range(5):
    # print('第',y,'页','开始的索引',y*20)
    # start = str(y*20)
    url = 'https://book.douban.com/tag/%E5%B0%8F%E8%AF%B4?start={}&type=T'.format(y*20)
    resp = requests.get(url,headers = hds)
    ct = resp.content.decode('utf-8');
    bs = BS(ct,'lxml') # 将ct 转换成Bs对象
    sa = bs.select('.subject-item .info h2 a') # 选择书名所在标签
    ps = bs.select('.subject-item .info .pub')  # 选择价格所在标签
    for x in range(len(sa)):   
        a = sa[x];
        p = ps[x];
        bookname = a['title'] # 通过 [属性名] 来获取属性值  
        price = p.get_text().replace(' ','').replace('\n','')
        price = price.replace('元','').split('/')[-1]; # 价格
        books[bookname] = price

print(books)
print(list(books.items())) # 打印books 所有键值对的列表,book.items() books 中每个键值对的元组

# 将数据写入文件
f = open(r'd:\a.txt','w');
for b in list(books.items()):
    f.write(b[0]+":"+b[1]+'\n')

f.close()
print('爬取完成')

{'太白金星有点烦': '45.00', '长安的荔枝': '45.00', '额尔古纳河右岸': '32.00', '繁花': '48.00', '明亮的夜晚': '52', '活着': '20.00', '我们八月见': '39.00', '十八岁出门远行': '45', '名侦探的献祭': '59.00', '秋园': '38.00', '豆子芝麻茶': '39.8', '巴别塔': '98.00', '一句顶一万句': '29.80', '绝叫': '58.00', '生死疲劳': '69.90', '悉达多': '32.00', '长夜难明 : 双星': '65.00', '在细雨中呼喊': '25.00', '六个说谎的大学生': '45.00', '三体': '23.00', '疼痛部': '54.00', '献给阿尔吉侬的花束': '48.00', '夜晚的潜水艇': '52.00', '百年孤独': '39.50', '三体Ⅱ': '32.00', '涅朵奇卡': '45.00', '人生海海': '55.00', '卡拉马佐夫兄弟': 'CNY78.00', '恶意': '39.50', '大医·破晓篇': '108.00', '消失的13级台阶': '42.00', '白夜行': '39.50', '不间断的人': '68', '我的天才女友': '42.00', '我该走了吗': '79', '房思琪的初恋乐园': '45.00', '树上的男爵': '30.00', '命运': '59.80', '霍乱时期的爱情': '39.50', '遥远的救世主': '28.00', '东北故事集': '59.00', '三体Ⅲ': '38.00', '孔雀菩提': '49', '杀死一只知更鸟': '58.00', '她对此感到厌烦': '54.80', '追风筝的人': '29.00', '圣母': '42.00', '面纱': '39.8', '局外人': '22.00', '失明症漫记': '66', '尘埃落定': '49.00', '公开的秘密': '59.00', '你的夏天还好吗?': '48.00', '六小时后你会死': '59.00', '兄弟': '43.00', '许三观卖血记': '24.00', '我本芬芳': '39.80', '动物农场': '22.00', '道德故事集': '56', '沧浪之水': '26.00', '平面国': '39.80', '白鹿原': '39.00', '平凡的世界': 'CNY79.80', '希腊棺材之谜': '79.90', '克莱因壶': '48.00', '一日三秋': '58', '解忧杂货店': '39.50', '孤岛的来访者': '49.00', '食南之徒': '56.00', '大医·日出篇': '108.00', '失踪的孩子': '62.00', '女佣异闻': '49.90', '岛屿的厝': '59', '檀香刑': '56.00', '愤怒的葡萄': '69.00', '流俗地': '55', '克拉拉与太阳': '68.00', '红楼梦': '59.70', 'エレファントヘッド': 'JPY2145', '长安十二时辰 上': '39.80', '无条件投降博物馆': '64.00', '纷纷水火': '59.00', '罗杰疑案': '28.00', '西线无战事': '49', '两京十五日': '108.00', '窄门': '45.00', '大明王朝1566': '88.00', '金色梦乡': '69.00', '新名字的故事': '59.00', '美丽新世界': '45.00', '刀锋': '18.00', '龙与地下铁': '49.80', '斯通纳': '49.00', '隐墙': '52.00', '永恒的终结': '32.00', '鼠疫': '34.00'}
[('太白金星有点烦', '45.00'), ('长安的荔枝', '45.00'), ('额尔古纳河右岸', '32.00'), ('繁花', '48.00'), ('明亮的夜晚', '52'), ('活着', '20.00'), ('我们八月见', '39.00'), ('十八岁出门远行', '45'), ('名侦探的献祭', '59.00'), ('秋园', '38.00'), ('豆子芝麻茶', '39.8'), ('巴别塔', '98.00'), ('一句顶一万句', '29.80'), ('绝叫', '58.00'), ('生死疲劳', '69.90'), ('悉达多', '32.00'), ('长夜难明 : 双星', '65.00'), ('在细雨中呼喊', '25.00'), ('六个说谎的大学生', '45.00'), ('三体', '23.00'), ('疼痛部', '54.00'), ('献给阿尔吉侬的花束', '48.00'), ('夜晚的潜水艇', '52.00'), ('百年孤独', '39.50'), ('三体Ⅱ', '32.00'), ('涅朵奇卡', '45.00'), ('人生海海', '55.00'), ('卡拉马佐夫兄弟', 'CNY78.00'), ('恶意', '39.50'), ('大医·破晓篇', '108.00'), ('消失的13级台阶', '42.00'), ('白夜行', '39.50'), ('不间断的人', '68'), ('我的天才女友', '42.00'), ('我该走了吗', '79'), ('房思琪的初恋乐园', '45.00'), ('树上的男爵', '30.00'), ('命运', '59.80'), ('霍乱时期的爱情', '39.50'), ('遥远的救世主', '28.00'), ('东北故事集', '59.00'), ('三体Ⅲ', '38.00'), ('孔雀菩提', '49'), ('杀死一只知更鸟', '58.00'), ('她对此感到厌烦', '54.80'), ('追风筝的人', '29.00'), ('圣母', '42.00'), ('面纱', '39.8'), ('局外人', '22.00'), ('失明症漫记', '66'), ('尘埃落定', '49.00'), ('公开的秘密', '59.00'), ('你的夏天还好吗?', '48.00'), ('六小时后你会死', '59.00'), ('兄弟', '43.00'), ('许三观卖血记', '24.00'), ('我本芬芳', '39.80'), ('动物农场', '22.00'), ('道德故事集', '56'), ('沧浪之水', '26.00'), ('平面国', '39.80'), ('白鹿原', '39.00'), ('平凡的世界', 'CNY79.80'), ('希腊棺材之谜', '79.90'), ('克莱因壶', '48.00'), ('一日三秋', '58'), ('解忧杂货店', '39.50'), ('孤岛的来访者', '49.00'), ('食南之徒', '56.00'), ('大医·日出篇', '108.00'), ('失踪的孩子', '62.00'), ('女佣异闻', '49.90'), ('岛屿的厝', '59'), ('檀香刑', '56.00'), ('愤怒的葡萄', '69.00'), ('流俗地', '55'), ('克拉拉与太阳', '68.00'), ('红楼梦', '59.70'), ('エレファントヘッド', 'JPY2145'), ('长安十二时辰 上', '39.80'), ('无条件投降博物馆', '64.00'), ('纷纷水火', '59.00'), ('罗杰疑案', '28.00'), ('西线无战事', '49'), ('两京十五日', '108.00'), ('窄门', '45.00'), ('大明王朝1566', '88.00'), ('金色梦乡', '69.00'), ('新名字的故事', '59.00'), ('美丽新世界', '45.00'), ('刀锋', '18.00'), ('龙与地下铁', '49.80'), ('斯通纳', '49.00'), ('隐墙', '52.00'), ('永恒的终结', '32.00'), ('鼠疫', '34.00')]
爬取完成
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值