从0开始学爬虫6比价工具开发1之爬取当当、京东的数据

从0开始学爬虫6比价工具开发1之爬取当当、京东的数据

爬取当当数据

spider_dangdang.py

#coding=utf-8

import requests
from lxml import html
def spider(sn):
    """爬取当当网的数据"""
    url = 'http://search.dangdang.com/?key={sn}&act=input'.format(sn = sn)
    # 获取html内容
    html_data = requests.get(url).text

    # xpath对象
    selector = html.fromstring(html_data)

    # 找到书本列表
    ul_list = selector.xpath('//div[@id="search_nature_rg"]/ul/li')
    # print(len(ul_list))
    for li in ul_list:
        # 标题
        title = li.xpath('a/@title')
        print(title[0])
        # 价格
        price = li.xpath('p[@class="price"]/span[@class="search_now_price"]/text()')
        # print(price[0].split('¥')[1])
        print(price[0].replace('¥',''))
        # 购买链接
        link = li.xpath('a/@href')
        print(link[0])

        # 商家,如果是当当自营为空
        store = li.xpath('p[@class="search_shangjia"]/a/text()')
        store = '当当自营' if len(store) == 0 else store[0]
        print(store)

        print('------------------------------------')


if __name__ == "__main__":
    sn = "9787115428028"
    spider(sn)

运行结果:

C:\Users\ws\.virtualenvs\pytools\Scripts\python.exe D:/python/pytools/05spider_dangdang.py
 Python编程 从入门到实践 [美]埃里克・马瑟斯(Eric Matthes) 9787115428028
48.95
http://product.dangdang.com/1357228769.html
北京博远慧达图书专营店
------------------------------------
 Python编程 从入门到实践
62.00
http://product.dangdang.com/24003310.html
当当自营
------------------------------------
 Python编程从入门到实践+零基础入门学习Python+Python基础教程第三版 Python编程入门书籍全3册P
237.50
http://product.dangdang.com/1427665587.html
博鸿文化图书专营店
------------------------------------
 Python Java C 语言从入门到精通三本套计算机核心编程基础教程书籍 零基础自学电脑程序设计开发进阶实践教材
194.70
http://product.dangdang.com/1354186099.html
泊霖文轩图书专营店
------------------------------------
 Python Java C 语言从入门到精通三本套计算机核心编程基础教程书籍 零基础自学电脑程序设计开发进阶实践教材
194.50
http://product.dangdang.com/1405219788.html
艺凡图书专营店
------------------------------------
 Python编程 从入门到实践[美]埃里克・马瑟斯(Eric Matthes)人民邮电出版社9787115428028
73.80
http://product.dangdang.com/1441178788.html
大石桥新华书店图书专营店
------------------------------------
 【原版珍藏9成新原版现货包邮】Python编程 从入门到实践 [美]埃里克・马瑟斯(Eric Matthes) 人民邮
90.00
http://product.dangdang.com/1275392779.html
绿伯然旧书专营店
------------------------------------
 python基础教程 零基础学python3.5编程从入门到实践 精通计算机程序设计pathon核心技术网络爬虫书籍
89.00
http://product.dangdang.com/1019255314.html
育博彦图书专营店
------------------------------------
 python基础教程 零基础学Python3.5编程从入门到实践 精通计算机程序设计pathon核心技术网络爬虫书籍
87.00
http://product.dangdang.com/1115808114.html
金种子图书专营店
------------------------------------
 【赠源代码】Python编程从入门到实践 python3.5绝技核心编程基础教程 网络爬虫入门书籍 python视频编
138.00
http://product.dangdang.com/1098372614.html
育博彦图书专营店
------------------------------------
 【套装3本】Python编程从入门到实践+Python核心编程 第3版+Python 3标准库
380.00
http://product.dangdang.com/1142763004.html
阅微阁图书专营店
------------------------------------
 Python自学经典套装:Python基础教程 第3版+Python核心编程第3版
135.00
http://product.dangdang.com/1414256630.html
风向图书专营店
------------------------------------
 Python基础教程 Python编程从入门到实践 精通python核心编程网络爬虫开发 计算机程序设计python3
89.00
http://product.dangdang.com/1502718174.html
鹰辰文化图书专营店
------------------------------------
 python基础教程 零基础学python3.5编程从入门到实践 精通计算机程序设计pathon核心技术网络爬虫书籍
138.00
http://product.dangdang.com/1324822717.html
嘉博致远图书专营店
------------------------------------
 【官方】Python编程从入门到实践 python3.5核心编程基础教程快速上手 3.0零基础笨办法学网络爬虫程序设计
94.93
http://product.dangdang.com/1340418421.html
海川信诺图书专营店
------------------------------------
 Python编程从入门到实践 精通Python基础教程python核心编程网络爬虫 python数据分析计算机程序设计
86.00
http://product.dangdang.com/1142645104.html
阅微阁图书专营店
------------------------------------
 【全2册】Python编程 从入门到实践+笨办法学Python 3 绝技核心编程基础视频教程网络爬虫
121.40
http://product.dangdang.com/1353670125.html
世纪书缘图书专营店
------------------------------------
 @畅销书籍 python基础教程 零基础学Python3.5编程从入门到实践 精通计算机程序设计pathon核心技术网
88.80
http://product.dangdang.com/1437332330.html
鑫隆博图书专营店
------------------------------------
 Python编程从入门到实践 精通Python基础教程python核心编程网络爬虫 python数据分析计算机程序设计
87.00
http://product.dangdang.com/1140574104.html
水生一天图书专营店
------------------------------------
 Python编程从入门到精通+python基础教程 第3版 python基础入门2册 人民邮电出版社
137.20
http://product.dangdang.com/1418479022.html
文轩网旗舰店
------------------------------------
 正版利用Python进行数据分析+Python爬虫开发与项目实战+数据分析与挖掘实战+学习手册4本Python入门书籍
317.00
http://product.dangdang.com/1050377804.html
晖文锦绣图书专营店
------------------------------------
 【2本套】Python编程-从入门到实践+Python网络爬虫 核心编程语言书籍 计算机程序设计从零到精通 游戏开发应
138.00
http://product.dangdang.com/1416975630.html
育博彦图书专营店
------------------------------------
 【抖音奶爸的书房推荐】精装正版硬壳 变变变+点点点+好饿的小蛇+蚂蚁和西瓜+谁藏起来了 提高幼儿思维拓展认幼儿绘本 变
135.00
http://product.dangdang.com/1417168229.html
童心悦美图书专营店
------------------------------------
 python基础教程 零基础学Python3.5编程从入门到实践 精通计算机程序设计pathon核心技术网络爬虫书籍
87.60
http://product.dangdang.com/1292033809.html
阅九州图书专营店
------------------------------------
 【全4册】python学习手册 第四版+流畅的Python+Python编程之美 佳实践指南学习+Python核心编程
436.00
http://product.dangdang.com/1107948713.html
阅微阁图书专营店
------------------------------------
 Python编程 从入门到实践python爬虫python基础教程利用python进行数据分析python书籍pyth
225.00
http://product.dangdang.com/1034700579.html
锋发韵流图书专营店
------------------------------------
 全3册正版书籍Python自学三件套视频版Python编程从入门到实践Python基础教程第3版Python编程从入门
218.00
http://product.dangdang.com/1416500025.html
世纪书缘图书专营店
------------------------------------
 套装2册 Python编程 从入门到实践+Python基础教程 编程入门类图书 从基本概念到完整项目
133.20
http://product.dangdang.com/1482160296.html
布克图书专营店
------------------------------------
 Python web开发2件套:Python编程从入门到实践+Flask Web开发基
108.00
http://product.dangdang.com/1414233630.html
风向图书专营店
------------------------------------
 从Python开始学编程从入门到实践 python基础教程书籍python网络爬虫网络数据采集 零基础入门学pytho
136.00
http://product.dangdang.com/1263340416.html
锋发韵流图书专营店
------------------------------------
 【套装9本】C++ PrimerPlus第六版中文版C#图解教程Java编程思想第四版python编程从入门到实践鸟哥
798.00
http://product.dangdang.com/1398453504.html
阅微阁图书专营店
------------------------------------
 【套装3本】Python编程从入门到实践+Python核心编程 第3版+Python 3标准库
382.00
http://product.dangdang.com/1306734922.html
阅微阁图书专营店
------------------------------------
 Python编程入门 全3册 Python编程从入门到实践零基础学习PythonP
219.18
http://product.dangdang.com/1436270989.html
明日图书专营店
------------------------------------
 python基础教程 零基础学python3.5编程从入门到实践 精通计算机程序设计pathon核心技术网络爬虫书籍
87.00
http://product.dangdang.com/1442894836.html
三味书屋图书专营店
------------------------------------
 Java/C/Python入门经典:Java编程思想 第4版+C Primer Plus第6版
197.00
http://product.dangdang.com/1414290630.html
风向图书专营店
------------------------------------
 2本套Python编程-从入门到实践+Python网络爬虫 核心编程语言书籍 计算机程序设计从零到精通 游戏开发应用学
138.00
http://product.dangdang.com/1461096577.html
金太阳图书专营店
------------------------------------
 正版 Python编程从入门到实践 python3.0绝技核心编程基础教程 网络爬虫入门书籍 python 视频编程从
87.00
http://product.dangdang.com/1451576248.html
金种子图书专营店
------------------------------------
 【二手旧书9成新】Python编程:从入门到实践 /[美]埃里克・马瑟
70.00
http://product.dangdang.com/1468940825.html
百亿德旧书专营店
------------------------------------
 正版现货 Python编程从入门到实践 python基础教程 Python核心编程 Python程序设计 python
88.00
http://product.dangdang.com/1328174548.html
育博彦图书专营店
------------------------------------
 【百社好书】 图灵 Python编程从入门到实践 python基础教程数据分析python书核心编程爬虫人工智能机器学
88.00
http://product.dangdang.com/1360233510.html
晖文锦绣图书专营店
------------------------------------
 python基础教程 零基础学Python编程从入门到实践 精通计算机程序设计pathon核心技术 网络爬虫书籍 赠源
88.70
http://product.dangdang.com/1507179655.html
三味书屋图书专营店
------------------------------------
 Python编程从入门到实践python3.5绝技核心编程基础教程网络爬虫入门书籍python视频编程从入门到精通程序
80.10
http://product.dangdang.com/1507592697.html
晖文锦绣图书专营店
------------------------------------
 Python Java C 语言从入门到精通三本套计算机核心编程基础教程书籍 零基础自学电脑程序设计开发进阶实践教材
228.00
http://product.dangdang.com/1019261614.html
育博彦图书专营店
------------------------------------
 正版 Python编程从入门到实践 python3.0绝技核心编程基础教程 网络爬虫入门书籍 python 视频编程从
95.00
http://product.dangdang.com/1503481850.html
博鸿文化图书专营店
------------------------------------
 现货 自我进化 发现你的创新力 蒂娜齐莉格 著
37.00
http://product.dangdang.com/1330247877.html
童心悦美图书专营店
------------------------------------
 【全4册】python学习手册 第四版+流畅的Python+Python编程之美 佳实践指南学习+Python核心编程
432.00
http://product.dangdang.com/1297218113.html
阅微阁图书专营店
------------------------------------
 Python编程从入门到实践 (美)Matthes绝技核心编程基础视频教程网络爬虫入门书籍+ Python程序设计(第
148.00
http://product.dangdang.com/1233420915.html
三味书屋图书专营店
------------------------------------
 现货 Python编程从入门到实践python3.5绝技核心编程基础教程网络爬虫入门书籍python视频编程从入门到精
98.00
http://product.dangdang.com/1501414778.html
锋发韵流图书专营店
------------------------------------
 Python编程从入门到实践 python3.5核心编程基础教程网络爬虫入门书籍 零基础学python视频编程从入门到
88.00
http://product.dangdang.com/1441408264.html
三味书屋图书专营店
------------------------------------
 Python编程从入门到实践 python3.0绝技核心编程基础教程 网络爬虫入门书籍 python 视频编程从入门到
89.00
http://product.dangdang.com/1443910304.html
书海行舟图书专营店
------------------------------------
 【套装3本】Python编程从入门到实践+Python核心编程 第3版+Python 3标准库
386.00
http://product.dangdang.com/1441429764.html
三味书屋图书专营店
------------------------------------
 python基础教程教材Python编程从零基础到项目实战实例python从入门到实战python语言及其应用
164.00
http://product.dangdang.com/1398414724.html
雅文阁图书专营店
------------------------------------
 双视角阅读・注音本(全5册)――童话集与绘本的创意结合
75.00
http://product.dangdang.com/1258500585.html
童心悦美图书专营店
------------------------------------

Process finished with exit code 0

# 爬取京东网站

#coding=utf-8

import requests
from lxml import html

def spider(sn):
    """爬取京东的图书数据"""
    url= 'https://search.jd.com/Search?keyword={0}'.format(sn)

    # 获取html文档
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36"}
    html_doc = requests.get(url, headers = headers)
    html_doc.encoding = 'utf-8'
    html_data = html_doc.text
    # print(html_data)

    # 获取xpath对象
    selector = html.fromstring(html_data)
    # 找到列表的集合
    # 查看 id = J_goodsList 通过看网页源码,看id是否唯一,如果唯一就能精确定位了
    ul_list = selector.xpath('//div[@id="J_goodsList"]/ul/li')
    # 解析对应的内容,标题,价格
    for li in ul_list:
        # 标题
        title = li.xpath('div/div[@class="p-name"]/a/em/text()')
        print(title[0])

        # 购买链接
        link = li.xpath('div/div[@class="p-name"]/a/@href')
        print(link[0])

        # 价格
        price = li.xpath('div/div[@class="p-price"]/strong/i/text()')
        print(price[0])

        # 出版社  // 双斜线表示过滤掉中间任意内容
        store = li.xpath('div//div[@class="p-shopnum"]/a/text()')
        print(store[0])

        print('-------------------------------------')
if __name__ == "__main__":
    sn = "9787115428028"
    spider(sn)

 # 爬取一号店的数据

# coding=utf-8

import requests
from lxml import html


def spider_yhd(sn):
    """爬取一号店图书"""
    url = "https://search.yhd.com/c0-0/k{0}".format(sn)
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36"}
    response = requests.get(url, headers = headers)
    # print(response.encoding)

    # 获取网页内容
    html_doc = response.text
    # 获取xpath对象
    selector = html.fromstring(html_doc)

    div_list = selector.xpath('//div[@id="itemSearchList"]/div')
    # print(html_doc)
    for div in div_list:
        # 书名
        title = div.xpath('div/p[@class="proName clearfix"]/a/@title')
        print(title)

        # 价格
        price = div.xpath('div/p[@class="proPrice"]/em/text()')
        print(price[1].replace("\n",""))

        # 出版社
        link = div.xpath('div/p[@class="proName clearfix"]/a/@href')
        print("https:"+link[0])

        # 购买链接
        store = div.xpath('div/p[@class="searh_shop_storeName storeName limit_width"]/a/@title')
        print(store)
        print('------------------------------------------')

if __name__ == "__main__":
    sn = "9787115428028"
    spider_yhd(sn)

# 爬取天猫的数据(淘宝需要登录,就改为爬取天猫)

#coding=utf-8

import requests
from lxml import html

def spider_tmall(sn):

    # 获取url
    url = "https://list.tmall.com/search_product.htm?q={0}".format(sn)
    # 获取网页内容
    response = requests.get(url)
    # print(response.encoding)
    url_data = response.text
    # 获取xpath
    selector = html.fromstring(url_data)
    ul_list = selector.xpath('//div[@id="J_ItemList"]/div')

    for li in ul_list:
        # 书名
        title = li.xpath('div[@class="product-iWrap"]/p[@class="productTitle"]/a/@title')
        print(title[0])
        # 链接
        link = li.xpath('div[@class="product-iWrap"]/p[@class="productTitle"]/a/@href')
        print("https:"+link[0])
        # 价格
        price = li.xpath('div[@class="product-iWrap"]/p[@class="productPrice"]/em/@title')
        print(price[0])
        # 出版社
        store = li.xpath('div[@class="product-iWrap"]/div[@class="productShop"]/a[@class="productShop-name"]/text()')
        print(store[0].replace("\n",""))


        print('------------------------')

if __name__ == "__main__":
    spider_tmall("9787115428028")

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值