美文网首页
Python采集当当得图书畅销榜书籍信息数据保存csv

Python采集当当得图书畅销榜书籍信息数据保存csv

作者: 颜狗一只 | 来源:发表于2022-04-15 15:03 被阅读0次

前言

嗨喽!大家好呀,这里是魔王~**

[环境介绍]:

  • python 3.8 解释器
  • pycharm 2021专业版 >>> 激活码 编辑器

[模块使用]:

  • requests >>> pip install requests
  • parsel >>> pip install parsel
  • csv

win + R 输入cmd 输入安装命令 pip install 模块名


模块安装问题:

- 如果安装python第三方模块:
    1. win + R 输入 cmd 点击确定, 输入安装命令 pip install 模块名 (pip install requests) 回车
    2. 在pycharm中点击Terminal(终端) 输入安装命令
- 安装失败原因:
    - 失败一: pip 不是内部命令
        解决方法: 设置环境变量

    - 失败二: 出现大量报红 (read time out)
        解决方法: 因为是网络链接超时,  需要切换镜像源
            清华:https://pypi.tuna.tsinghua.edu.cn/simple
            阿里云:https://mirrors.aliyun.com/pypi/simple/
            中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
            华中理工大学:https://pypi.hustunique.com/
            山东理工大学:https://pypi.sdutlinux.org/
            豆瓣:https://pypi.douban.com/simple/
            例如:pip3 install -i https://pypi.doubanio.com/simple/ 模块名

    - 失败三: cmd里面显示已经安装过了, 或者安装成功了, 但是在pycharm里面还是无法导入
        解决方法: 可能安装了多个python版本 (anaconda 或者 python 安装一个即可) 卸载一个就好
                或者你pycharm里面python解释器没有设置好

如何配置pycharm里面的python解释器?

1. 选择file(文件) >>> setting(设置) >>> Project(项目) >>> python interpreter(python解释器)
2. 点击齿轮, 选择add
3. 添加python安装路径

pycharm如何安装插件?

1. 选择file(文件) >>> setting(设置) >>> Plugins(插件)
2. 点击 Marketplace  输入想要安装的插件名字 比如:翻译插件 输入 translation / 汉化插件 输入 Chinese
3. 选择相应的插件点击 install(安装) 即可
4. 安装成功之后 是会弹出 重启pycharm的选项 点击确定, 重启即可生效

代码

import os
path = 'C:\\02-讲师文件夹\\自游\\虎牙视频\\video\\'
files = os.listdir(path)
print(files)
for file in files[:5]:
    name = file.split('.')[0]
    f = open(path + file, mode='rb')
    with open('转换\\' + name + '.rmvb', mode='wb') as z:
        z.write(f.read())

# os.listdir('')
# # 导入数据请求模
# 块
# import requests  # 第三方模块 pip install requests
# # 导入数据解析模块
# import parsel  # 第三方模块 pip install parsel
# import csv
# import time
# f = open('data_1.csv', mode='a', encoding='utf-8', newline='')
# csv_writer = csv.DictWriter(f, fieldnames=[
#     '标题',
#     '评论',
#     '推荐',
#     '作者',
#     '出版日期',
#     '出版社',
#     '售价',
#     '折扣',
#     '原价',
#     '电子书',
#     '详情页',
# ])
# csv_writer.writeheader() # 写入表头
# """
# 1. 发送请求
# 爬虫发送请求,  模拟浏览器对于url地址发送请求的
# headers 请求头
# """
# for page in range(1, 26):
#     print(f'正在采集第{page}页的数据内容')
#     time.sleep(1.5)
#     url = f'http://bang.dangdang.com/books/bestsellers/01.00.00.00.00.00-recent7-0-0-1-{page}'
#     headers = {
#         'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.88 Safari/537.36'
#     }
#     response = requests.get(url=url, headers=headers)
#     # print(response)  # <Response [200]> 响应对象 200 状态码表示请求成功
#     # 2. 获取数据, 服务器返回响应数据 response.text 文本数据
#     # print(response.text)
#     # 3. 解析数据, 提取我们想要数据内容 书籍相关信息 re css xpath
#     # css 根据标签属性内容提取数据
#     selector = parsel.Selector(response.text)  # 把获取html字符串转成可解析的对象
#     # 分为两次提取, 第一次提取所有li标签的内容
#     lis = selector.css('ul.bang_list li')
#     # print(lis)
#     for li in lis:
#         # class 用小圆点 id 用 #  标签名
#         # a::attr(title) 提取a标签里面title属性内容 attr() 属性选择器 get() 获取这个数据内容
#         title = li.css('.name a::attr(title)').get()  # 书籍名字
#         comment = li.css('.star a::text').get().replace('条评论', '')  # 评论数
#         recommend = li.css('.tuijian::text').get().replace('推荐', '')  # 推荐
#         author = li.css('div:nth-child(5) a:nth-child(1)::attr(title)').get()  # 作者
#         date = li.css('div:nth-child(6) span::text').get()  # 出版时间
#         press = li.css('div:nth-child(6) a::text').get()  # 出版社
#         price_n = li.css('div:nth-child(7) p:nth-child(1) .price_n::text').get()  # 售价
#         price_r = li.css('div:nth-child(7) p:nth-child(1) .price_r::text').get()  # 原价
#         price_s = li.css('div:nth-child(7) p:nth-child(1) .price_s::text').get().replace('折', '')  # 折扣
#         price_e = li.css('div:nth-child(7) .price_e .price_n::text').get()  # 电子书价格
#         href = li.css('.name a::attr(href)').get()  # 详情页
#         dit = {
#             '标题': title,
#             '评论': comment,
#             '推荐': recommend,
#             '作者': author,
#             '出版日期': date,
#             '出版社': press,
#             '售价': price_n,
#             '折扣': price_s,
#             '原价': price_r,
#             '电子书': price_e,
#             '详情页': href,
#         }
#         csv_writer.writerow(dit)
#         print(title, comment, recommend, author, date, press, price_n, price_r, price_s, price_e, href)

视频教程

https://www.bilibili.com/video/BV1hS4y1u7k5?share_source=copy_web

尾语

好了,我的这篇文章写到这里就结束啦!

有更多建议或问题可以评论区或私信我哦!一起加油努力叭(ง •_•)ง

喜欢就关注一下博主,或点赞收藏评论一下我的文章叭!!!

相关文章

网友评论

      本文标题:Python采集当当得图书畅销榜书籍信息数据保存csv

      本文链接:https://www.haomeiwen.com/subject/kvhhertx.html