项目五:获取数据:当当网

12 篇文章 0 订阅
6 篇文章 0 订阅

爬取当当网

点击跳转到总目录
本篇只记录程序点击跳转项目

直接上代码

  • 此项目主要为了学习RFM模型,R(近度)F(频度)M(额度),我把目标盯上了淘宝,京东这种购物网站,但是水平太菜,于是退而其次打算爬取当当网试试
  • 参考写了这个爬虫之后发现获取到的数据并不理想,故放弃
import requests
from lxml import etree
import pandas as pd

test_url = 'http://search.dangdang.com/?key='+ '数据分析'
content_page = requests.get(test_url).text       #3. 执行页面请求,返回页面内容
print(content_page[:1000])                       #4.将页面的前1000个字符打印显示出来

# # from lxml import etree
# page = etree.HTML(content_page)
# book_name = page.xpath('//li/p/a[@name="itemlist-title"]/@title') #用xpath提取出书名信息。
# # book_name[:10]
# print(book_name[:10])

# from lxml import etree
def content(content_page):
    books = []
    page = etree.HTML(content_page)
    book_name = page.xpath('//li/p/a[@name="itemlist-title"]/@title') #书名
    pub_info = page.xpath('//li/p[@class="search_book_author"]')#出版信息
    pub_info = [book_pub.xpath('string(.)') for book_pub in pub_info]
    price_now = page.xpath('//li//span[@class="search_now_price"]/text()')#当前价格
    stars = page.xpath('//li/p[@class="search_star_line"]/span[@class="search_star_black"]/span/@style') #星级
    comment_num = page.xpath('//li/p[@class="search_star_line"]/a[@class="search_comment_num"]/text()') #评论数
    for book in zip(book_name, pub_info, price_now, stars, comment_num):
        books.append(list(book))
    return books
test_url = 'http://search.dangdang.com/?key='+ '数据分析'
content_page = requests.get(test_url).text       #3. 执行页面请求,返回页面内容
# print(content_page[:1000])                       #4.将页面的前1000个字符打印显示出来

books = content(content_page)
# books[:5]
print(books[:5])

# import pandas as pd
books_df = pd.DataFrame(data=books,columns=["书名","出版信息","当前价格","星级","评论数"])
# books_df[:10]
# print(books_df[:10])

books_df.to_csv("./2.csv",encoding="utf8",sep="\t",index=None)
books_df.to_excel("./2.xlsx",sheet_name="sheet1",index=False,encoding="utf-8")

1

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值