从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:Usersws.virtualenvspytoolsScriptspython.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(" ","")) # 出版社 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(" ","")) print('------------------------') if __name__ == "__main__": spider_tmall("9787115428028")