伍佰目录 短网址
  当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

只是懂点python,就被老板叫去爬取计算机书籍畅销排行榜,真要转行了

来源:本站原创 浏览:74次 时间:2022-12-03
貌似现在大家都崇尚python爬虫,就连身边搞运营的同事都是爬虫高手,可惜那个妹子不在,我只是说了句python多少懂点,就被老板叫去爬取计算机书籍畅销排行榜了。

我依靠记忆外带连蒙带猜buff,一顿操作猛如虎,总算从某duang网上爬取出近200条计算机类畅销书籍。爬完我才发现原来也不是那么难,并且爬虫还和ETL十分相似,都是抽取、转换、加载三步走。本文所涉及的环境:谷歌浏览器、python3。1 抽取(extract)

爬虫通常有一个数据来源,这里我的数据来源就是某duang网,目标就是从浏览器里将需要的数据抽取出来。先找到计算机图书畅销榜页面,然后对目标页面URL发起请求,抽取需要的数据。

通常都是GET请求,比较简单,直接发起即可:

import requests

def extract_program_book(url):
  getstr = requests.get(url)
  getstr.encoding = 'GBK'
  return getstr.text
2 转换(transform)

显然第一步抽取出来的数据多而杂,有许多内容都不是我们想要的数据,需要进行数据过滤或数据加工,这里我们更侧重数据过滤,提取关键数据即可。

在目标页面右键鼠标选择检查,也可以使用快捷键ctrl+shift+I,找到一个目标元素并提取元素选择器,等下靠它来进行数据转换。

from bs4 import BeautifulSoup

def transform_program_book(strdata):
  soup = BeautifulSoup(strdata, "lxml")
  data = soup.select("body > div.bang_wrapper > div.bang_content > div.bang_list_box > ul > li")
  result = []
  for item in data:
    temp = []
    for i in [0, 2, 4, 5]:
      temp.append(item.find_all("div")[i].getText())
      temp.append(item.find_all("div")[6].find_all("span")[0].getText())
      result.append(temp)
  return result
3 加载(load)

数据转换完我们需要对数据进行加载,可以保存到文件,这里简单将数据保存到Excel,将排行榜序号、书籍名称、作者、出版社、价格输出保存。

保存excel对于python强大的工具库而言就是手到擒来,这里使用openpyxl,如果没有此组件,可以在cmd命令窗口中执行:pip install openpyxl 

import openpyxl

def load_program_book_2_excel(filename, sheetname, data):
    try:
        workbook = openpyxl.load_workbook(filename)
    except FileNotFoundError as err:
        print("OS error: {0}".format(err))
        workbook = openpyxl.Workbook()
    sheet = workbook.active
    begin = sheet.max_row
    size = len(data)
    for i in range(0, size, 1):
        for j in range(0, len(data[i]), 1):
            sheet.cell(row=begin + i, column=j + 1, value=str(data[i][j]))
    workbook.save(filename)

总算是不辱使命完成了老板的要求,同时再一次体会到了python的易用且强大,看来真得转行学习python了。


  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net