案例(二)爬虫预热

项目一:当当网店商品爬虫——爬虫类书籍为例

此案例是运用bs4库find方法对相关内容进行抓取。

 -*- coding: utf-8 -*-
import requests
import csv
from bs4 import BeautifulSoup as bs
#获取网页信息
def request_dandan(url):try:#用户代理headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36'}r = requests.get(url,headers=headers)if r.status_code == 200:return r.textexcept requests.RequestException:return None#存放列名
def write_item_to_file():csv_file = open('dangdang.csv', 'w', newline='', encoding="utf-8")writer = csv.writer(csv_file)writer.writerow(['书名','购买链接','纸质书价格','电子书价格','电子书链接','书的详细介绍','书的封面地址','评论地址','作者','出版时间','出版社'])print('列名已成功放入CSV中')
#解析网页并写入csv文件中
def parse_dangdang_write(html):csv_file = open('dangdang.csv', 'a', newline='')writer = csv.writer(csv_file)#解析网页soup = bs(html, 'html.parser')class_tags = ['line'+str(x) for x in range(1,61)]for class_tag in class_tags:li = soup.find('li',class_=class_tag)book_name = li.find('a',class_='pic').get('title') # 书名paperbook_price = li.find('span',class_='search_now_price').text  #纸质书价格try:ebook_price = li.find('a',class_='search_e_price').find('i').text  #电子书价格ebook_link = li.find('a',class_='search_e_price').get('href') #电子书链接except:ebook_price = ''ebook_link = ''detail = li.find('p',class_='detail').text #书的详细介绍book_purchase_link = li.find('a',class_='pic').get('href') #每本书的详细购买链接book_cover_link = li.find('a',class_='pic').find('img').get('src')#书的封面地址comment_link = li.find('a',class_='search_comment_num').get('href') #评论地址author = li.find('p',class_='search_book_author').find('span').text # 书的作者public_time = li.find('p',class_='search_book_author').find('span').next_sibling.text[2:]#出版时间public = li.find('p',class_='search_book_author').find('span').next_sibling.next_sibling.text[3:]#出版社writer.writerow([book_name, book_purchase_link, paperbook_price, ebook_price, ebook_link, detail, book_cover_link, comment_link, author, public_time, public])#writer.writerow(['书名', '购买链接', '纸质书价格', '电子书价格', '电子书链接', '书的详细介绍', '书的封面地址', '评论地址', '作者', '出版时间', '出版社'])csv_file.close()if __name__ == '__main__':write_item_to_file()for page in range(1, 10):  # 爬取9页数据存入csv文件url = 'http://search.dangdang.com/?key=python%C5%C0%B3%E6&act=input&page_index=' + str(page)html = request_dandan(url)  # 获取网页信息parse_dangdang_write(html)  # 解析网页并写入csv文件中print('第{}页数据成功放入CSV中'.format(page))

运行结果:

金融数据分析(三)当当网店铺商品爬虫——爬虫类书籍为例:requestsbs4相关推荐

  1. python爬虫爬取当当网的商品信息

    python爬虫爬取当当网的商品信息 一.环境搭建 二.简介 三.当当网网页分析 1.分析网页的url规律 2.解析网页html页面 书籍商品html页面解析 其他商品html页面解析 四.代码实现 ...

  2. Scrapy爬取当当网的商品信息存到MySQL数据库

    Scrapy爬取当当网的商品信息存到MySQL数据库 Scrapy 是一款十分强大的爬虫框架,能够快速简单地爬取网页,存到你想要的位置.经过两天的摸索,终于搞定了一个小任务,将当当网的商品信息爬下来存 ...

  3. python爬虫beautifulsoup爬当当网_利用python爬虫可视化分析当当网的图书数据!

    导语 这周末就分享个小爬虫吧.利用Python爬取并简单地可视化分析当当网的图书数据. 开发工具 Python版本:3.6.4 相关模块: requests模块: bs4模块: wordcloud模块 ...

  4. python爬虫06 | 你的第一个爬虫,爬取当当网 Top 500 本五星好评书籍

    来啦,老弟 我们已经知道怎么使用 Requests 进行各种请求骚操作 也知道了对服务器返回的数据如何使用 正则表达式 来过滤我们想要的内容 ... 那么接下来 我们就使用 requests 和 re ...

  5. python爬虫什么书好_python爬虫入门06 | 爬取当当网 Top 500 本五星好评书籍

    来啦,老弟 image 我们已经知道怎么使用 Requests 进行各种请求骚操作 也知道了对服务器返回的数据如何使用 正则表达式 来过滤我们想要的内容 - 那么接下来 我们就使用 requests ...

  6. 爬取当当网 Top 500 本五星好评书籍

    打开这个书籍排行榜的地址 http://bang.dangdang.com/books/fivestars/01.00.00.00.00.00-recent30-0-0-1-1 可以看到一下网页 每一 ...

  7. item_get-获得当当网商品详情,当当网获得商品详情 API接口接入方案

    一.item_get-获得dangdang商品详情接口接入说明: 点击注册获取key和secret测试账号 接口说明:通过商品ID获取商品详情页面的数据,包括标题,价格,库存,视频,图片等信息. 二. ...

  8. 手把手教你写电商爬虫-第二课 实战尚妆网分页商品采集爬虫

    系列教程 手把手教你写电商爬虫-第一课 找个软柿子捏捏 如果没有看过第一课的朋友,请先移步第一课,第一课讲了一些基础性的东西,通过软柿子"切糕王子"这个电商网站好好的练了一次手,相 ...

  9. 手把手教你写电商爬虫-第二课 实战尚妆网分页商品采集爬虫 1

    系列教程 手把手教你写电商爬虫-第一课 找个软柿子捏捏 如果没有看过第一课的朋友,请先移步第一课,第一课讲了一些基础性的东西,通过软柿子"切糕王子"这个电商网站好好的练了一次手,相 ...

最新文章

  1. [Hihocoder 1289] 403 Forbidden (微软2016校园招聘4月在线笔试)
  2. linux nfs acl 特定ip,技术|RHCSA 系列(七): 使用 ACL(访问控制列表) 和挂载 Samba/NFS 共享...
  3. VS2010中的调试技巧
  4. c语言文件fputs和fgets,文件的读写问题,fputs和fgets问题!!!!
  5. Codeforces Round #554 (Div. 2) C. Neko does Maths (简单推导)
  6. CentOS配置网易163 yum源
  7. 滑动窗口最大值-leetcode 239题
  8. mysql run sql files_HeidiSQL_5.1_Sourcecode
  9. ELF应用程序二进制接口
  10. 利用JavaScript检查用户注册信息是否正确,在以下情况不满足时报错并阻止提交表单...
  11. python小白从哪来开始-国外大牛解析:小白如何从零基础开始学习python编程语言...
  12. Java中12 种 Spring 常用注解,必须记住!
  13. MySQL----下载安装
  14. 如何使用adb连接Android设备?
  15. java字母大小写转换
  16. 利用谷歌安全令牌(google authenticator)为服务器ssh添加二次验证功能
  17. mysql 3306无法访问_Mysql 3306端口无法被远程机器访问
  18. mac如何共享windows的打印机
  19. ssm框架通用代码生成工具
  20. idea中如何删除工程

热门文章

  1. LeetCode和牛客网的对比
  2. 计算机病毒实验教程pdf,计算机病毒实验手册4-5-9-10-8-v40.pdf
  3. 联发科发布旗舰芯片天玑9200,创新散热封装技术实现能效进一步突破
  4. 7发布年份_四城联动 | 美夏成功举办魔爵红2018年份发布会及垂直年份大师班
  5. AjaxUpLoad.js文件上传插件的使用
  6. 系统学习机器学习之神经网络(十二) --人工神经网络总结
  7. 安卓学习专栏——安卓报错android.support.v4.widget.SwipeRefreshLayout飘红
  8. Linux 两个文件求交集、并集、差集
  9. CTF-Web入门-get_post
  10. 爱因斯坦个人不是神仙