欢迎光临
我们一直在努力

爬虫实战 | 爬取当当网书籍价格信息

程序设计思路

对当当网某本书籍进行定向爬取,我们可以使用书籍的ISBN编码进行搜索,然后提取url地址,如下:

http://search.dangdang.com/?key=9787544285148&act=input

获取这个地址之后,我们通过格式化函数把ISBN编码与URL分离出来,这样做的好处是,我们以后可以根据用户输入获取ISBN,并对相应书籍进定向爬虫:

url = 'http://search.dangdang.com/?key={ISBN}&act=input'.format(ISBN = ISBN)

接下来通过requests.get请求,获取url的text内容:

html_data = requests.get(url).text

把text内容转换为Xpath对象:

selector = html.fromstring(html_data)

先去对应网页分析编码内容,然后通过Xpath图书列表信息获取出来(提示:下面获取到的ul_list为一个数组,其中每个数组元素都是对应的HTML内容):

ul_list = selector.xpath('//div[@id="search_nature_rg"]/ul/li')

接下来,用for循环进行遍历,以标题为例,先分析HTML结构:

可以看到标题在我们的ul_list下的a标签内,我们继续通过Xpath把对应的标题取出来:

for li in ul_list:
   #标题
   title = li.xpath('a/@title')
   print(title[0])

图书链接、价格、商家信息操作方法相似。

但是要注意,当当自营图书和第三方供货商图书的li内容不一样,因此在我们爬取价格、商家名称时需要进行分析判断。如爬取商家名称时,当当自营获取不到,这时候我们可以通过IF判断数据是否为空,如果为空,我们为其赋值“当当自营”。

#商家
store = li.xpath('p[@class="search_shangjia"]/a/text()') 
#当商家为当当自营时无法取得数字,因此做下面的判断
if len(store)==0:
   store = '当当自营'
print(store)

完整代码如下:

import requests
from lxml import html

def spider(ISBN):
    """爬取当当网数据"""
    url = 'http://search.dangdang.com/?key={ISBN}&act=input'.format(ISBN = ISBN)

    """获取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(ul_list[0])
    for li in ul_list:
        #标题
        title = li.xpath('a/@title')
        print(title[0])
        #链接
        link = li.xpath('a/@href')
        print(link[0])
        #价格
        price = li.xpath('p[@class="price"]/span[@class="search_now_price"]/text()')
        #备用价格,当为当当自营时,无法获取price,原因是此时多出一个div标签
        if len(price)==0:
            price_res = li.xpath('div[@class="ebook_buy"]/p[@class="price e_price"]/span[@class="search_now_price"]/text()')
            price = price_res
        print(price)
        #商家
        store = li.xpath('p[@class="search_shangjia"]/a/text()')
        #当商家为当当自营时无法取得数字,因此做下面的判断
        if len(store)==0:
            store = '当当自营'
        print(store)
        print("---------")

if __name__ == '__main__':
    ISBN='9787544285148'
    spider(ISBN)

爬取到的内容如下:

<Element li at 0x249800e79f0>
 东野圭吾:恶意(2016版,东野圭吾四大杰作之一)
http://product.dangdang.com/24041704.html
['¥27.30']
当当自营
---------
 东野圭吾:恶意(2016版,东野圭吾四大杰作之一) 东野圭吾,娄美莲,新经典 出品 南海出版公司 9787544285
http://product.dangdang.com/1556803478.html
['¥39.50']
['丽德图书专营店']
---------
 东野圭吾四大推理套装(全4册) 南海出版公司 获直木奖等多项大奖,领衔日本三大推理小说榜年度排行,中文版销量合计超50
http://product.dangdang.com/1304999477.html
['¥93.80']
['文轩网旗舰店', '8个卖家']
---------
 时生+恶意东野圭吾暖心力作全套2册加贺探案集白夜行嫌疑人X的献身解忧杂货店铺日本侦探悬疑推理小说畅销书籍排行榜
http://product.dangdang.com/1479109025.html
['¥49.50']
['智宸图书专营店', '9个卖家']
---------
 恶意/东野圭吾解忧杂货店 精装版 外国日本侦探悬疑推理文学小说 东野圭吾小说集 畅销书全球经典小说读物 白夜行
http://product.dangdang.com/1010203003.html
['¥29.80']
['智远图书专营店', '4个卖家']
---------
 【正版】恶意 精装版东野圭吾小说 东野圭吾四大推理套装红手指毕业东野圭吾恶意系列日本侦探悬疑推理小说东野圭吾长篇杰作
http://product.dangdang.com/1609470517.html
['¥37.00']
['晖文锦绣图书专营店']
---------
 恶意 东野圭吾 随书赠书签 与白夜行 解忧杂货店 嫌疑人X的献身并称东野四大杰作 日本推理侦探文学小说书籍 新华正版
http://product.dangdang.com/1504281747.html
['¥39.00']
['书海行舟图书专营店']
---------
 恶意谁杀了她悲剧人偶我杀了他 全4册 东野圭吾小说集全套推理小说套装 侦探悬疑推理小说畅销书排行榜青春校园 抖音推荐
http://product.dangdang.com/1407530888.html
['¥138.00']
['智远图书专营店']
---------
 【精装版】恶意 东野圭吾的书 侦探悬疑推理小说东野圭吾全套小说集与白夜行嫌疑人X的献身解忧杂货店并称东野圭吾四大杰作
http://product.dangdang.com/1582459437.html
['¥27.70']
['晖文锦绣图书专营店']
---------
 东野圭吾:预知梦+圣女的救济+禁断的魔术 推理3册嫌疑人X的献身同系列圣女的救济盛夏方程式伽利略的苦恼日本推理悬疑侦探
http://product.dangdang.com/1508473615.html
['¥132.00']
['三味书屋图书专营店']
---------
 【全新直发】恶意+新参者+放学后+秘密 东野圭吾畅销推理悬疑日本外国文学小说获奖书 南海出版公司
http://product.dangdang.com/1571412238.html
['¥170.38']
['菁宇图书专营店']
---------
 【套装两本】恶意+时生 侦探悬疑推理小说东野圭吾全套小说集与白夜行嫌疑人X的献身解忧杂货店并称东野圭吾四大杰作
http://product.dangdang.com/1584578547.html
['¥73.00']
['书海行舟图书专营店']
---------
 LZ正版 恶意 东野圭吾著 与白夜行 嫌疑人X的献身 解忧杂货店 并称东野圭吾四大杰作 日本侦探/悬疑/推理/惊悚
http://product.dangdang.com/1587910529.html
['¥35.00']
['唐凯图书专营店']
---------
 东野圭吾经典长篇小说《悲剧人偶》《恶意》 新经典出品 南海出版公司【新华书店 正版保障】
http://product.dangdang.com/1574457504.html
['¥87.20']
['吉林省新华书店集团四平市图书专营店']
---------
 恶意+秘密+学生街的日子 全3册 东野圭吾小说集全套东野圭吾继白夜行幻夜放学后解忧杂货店铺恶意后正版包邮日本推理侦探惊
http://product.dangdang.com/1574834004.html
['¥131.30']
['吉林省新华书店集团四平市图书专营店']
---------
 恶意+预知梦 +秘密+新参者+放学后 共5册东野圭吾获奖嫌疑人X的献身作者畅销侦探推理悬疑小说外国文学 新经典出品 南
http://product.dangdang.com/1574893384.html
['¥214.10']
['吉林省新华书店集团四平市图书专营店']
---------
 东野圭吾:恶意(2016版 东野圭吾杰作之一) 东野圭吾 娄美莲 新经典 出品 南海出版公司【新华书店 正版保障】
http://product.dangdang.com/1574027694.html
['¥38.70']
['吉林省新华书店集团四平市图书专营店']
---------
 恶意+新参者+放学后+秘密 东野圭吾畅销推理悬疑日本外国文学小说获奖书 新经典出品 南海出版公司【新华书店 正版保障】
http://product.dangdang.com/1574328094.html
['¥165.60']
['吉林省新华书店集团四平市图书专营店']
---------
 东野圭吾:恶意(2016版,东野圭吾杰作之一) 东野圭吾,娄美莲,新经典 出品 南海出版公司【购书选新华书店,品质有保
http://product.dangdang.com/1569880698.html
['¥39.11']
['台安县新华书店']
---------
 东野圭吾:恶意(2016版,东野圭吾杰作之一) 东野圭吾,娄美莲,新经典 出品【购书选新华书店,品质有保障】
http://product.dangdang.com/1583998448.html
['¥88.11']
['台安县新华书店']
---------
 恶意+新参者+放学后+秘密 东野圭吾畅销推理悬疑日本外国文学小说获奖书 (日)东野圭吾 著;娄美莲 译 著作 等
http://product.dangdang.com/1372004803.html
['¥126.80']
['墨渊图书专营店', '4个卖家']
---------
 恶意&天使之耳(交通警察之夜) 共2册
http://product.dangdang.com/1505301785.html
['¥59.24']
['博库网旗舰店', '4个卖家']
---------
 恶意 东野圭吾精装正版 侦探悬疑推理小说东野圭吾全套小说集与白夜行嫌疑人X的献身解忧杂货店并称东野圭吾四大杰作
http://product.dangdang.com/1241869714.html
['¥39.30']
['金种子图书专营店', '2个卖家']
---------
 东野圭吾:恶意(2016版,东野圭吾四大杰作之一)
http://product.dangdang.com/1556048641.html
['¥58.00']
['百亿德图书专营店']
---------
 正版包邮 恶意 东野圭吾 与白夜行 解忧杂货店 嫌疑人X的献身并称东野四大杰作 日本推理侦探文学小说书籍 新华正版
http://product.dangdang.com/1528039883.html
['¥35.50']
['艺凡图书专营店', '2个卖家']
---------
 恶意+预知梦 +秘密+新参者+放学后 共5册东野圭吾获奖嫌疑人X的献身作者畅销侦探推理悬疑小说外国文学 (日)东野圭吾
http://product.dangdang.com/1501692050.html
['¥163.90']
['墨渊图书专营店', '4个卖家']
---------
 正品全新 东野圭吾:恶意(2016版)
http://product.dangdang.com/1555223288.html
['¥35.50']
['黑驰图书专营店']
---------
 正版 恶意 东野圭吾精装正版 侦探悬疑推理小说东野圭吾全套小说集与白夜行嫌疑人X的献身解忧杂货店并称东野圭吾四大杰作
http://product.dangdang.com/1510189556.html
['¥38.00']
['雅文阁图书专营店', '2个卖家']
---------
 东野圭吾小说集全套4册推理小说套装恶意+谁杀了她+悲剧人偶+我杀了他正版图书解忧杂货店铺侦探推理恐怖悬疑小说书籍畅销书
http://product.dangdang.com/1609678847.html
['¥188.00']
['水生一天图书专营店']
---------
 东野圭吾:预知梦+圣女的救济+禁断的魔术 推理3册嫌疑人X的献身同系列圣女的救济盛夏方程式伽利略的苦恼日本推理悬疑侦探
http://product.dangdang.com/1550694982.html
['¥138.00']
['优迪图书专营店']
---------
 恶意 东野圭吾 白夜行放学后解忧杂货店新参者 侦探悬疑推理小说 畅销书 东野圭吾小说集全套
http://product.dangdang.com/1475800788.html
['¥38.00']
['金果果图书专营店']
---------
 包邮 东野圭吾天王套装全套小说集共4册 解忧杂货店+嫌疑人x的献身+恶意+白夜行 外国恐怖悬疑推理小说当代文学 日本恐
http://product.dangdang.com/1524979851.html
['¥153.00']
['博览图书专营店']
---------
 (畅销书籍)正版 恶意 东野圭吾著 白夜行解忧杂货店嫌疑人X的献身东野圭吾小说四大杰作日本推理侦探文学外国小说书籍 课
http://product.dangdang.com/1517566921.html
['¥35.00']
['鑫隆博图书专营店']
---------
 东野圭吾:预知梦+圣女的救济+禁断的魔术 推理3册嫌疑人X的献身同系列圣女的救济盛夏方程式伽利略的苦恼日本推理悬疑侦探
http://product.dangdang.com/1504154915.html
['¥140.00']
['三味书屋图书专营店']
---------
 恶意+秘密+学生街的日子 全3册 东野圭吾小说集全套东野圭吾继白夜行幻夜放学后解忧杂货店铺恶意后正版包邮日本推理侦探惊
http://product.dangdang.com/1419033603.html
['¥100.50']
['墨渊图书专营店', '3个卖家']
---------
 【 正版书籍】罪岸推理小说 侦探悬疑推理小说侦破人性的真相社会派推理小说 畅销书 青春
http://product.dangdang.com/1435395925.html
['¥32.80']
['盛世九九图书专营店']
---------
 东野圭吾小说集全套推理小说套装 恶意谁杀了她悲剧人偶我杀了他 侦探悬疑推理小说畅销书排行榜青春校园 抖音推荐
http://product.dangdang.com/1402405023.html
['¥138.00']
['嘉博致远图书专营店']
---------
 【东野圭吾作品小说集】恶意 白夜行嫌疑人X的献身解忧杂货店四大杰作日本侦探悬疑推理幻夜秘密全套原版书籍畅销书排行榜
http://product.dangdang.com/1556918677.html
['¥39.00']
['书海行舟图书专营店']
---------
 (2016)恶意/东野圭吾 精装版 与白夜行 解忧杂货店 嫌疑人X的献身并称东野圭吾四大杰作 日本推理侦探文学小说书籍
http://product.dangdang.com/1454789211.html
['¥35.00']
['鹰辰文化图书专营店']
---------
 恶意 东野圭吾嫌疑人x献身白夜行放学后探案推理悬疑人性心理罪案外国文学小说,(日)东野圭吾 著;娄美莲 译 著,南海出
http://product.dangdang.com/1561667814.html
['¥38.71']
['上海喜游图书专营店']
---------
 恶意 东野圭吾著 白夜行解忧杂货店嫌疑人X的献身同类东野圭吾小说四大杰作之一日本推理侦探文学外国小说书籍
http://product.dangdang.com/1592693524.html
['¥28.00']
['跨越世纪图书专营店']
---------
 恶意 东野圭吾 解忧杂货店白夜行嫌疑人x的献身日本侦探推理悬疑惊悚文学小说畅销书籍排行榜
http://product.dangdang.com/1584578187.html
['¥37.00']
['书海行舟图书专营店']
---------
 【正版】恶意 东野圭吾作品白夜行嫌疑人X的献身解忧杂货店四大杰作日本侦探悬疑推理小说集幻夜秘密全套精装书籍畅销书排行榜
http://product.dangdang.com/1596348836.html
['¥39.00']
['雅文阁图书专营店']
---------
 恶意系列 东野圭吾 小说 2016版 与白夜行嫌疑人X的献身解忧杂货店 恐怖悬疑破案推理类侦探犯罪小说书籍鬼故事
http://product.dangdang.com/1542354060.html
['¥35.00']
['泊霖文轩图书专营店']
---------
 恶意系列 东野圭吾 小说 2016版 与白夜行嫌疑人X的献身解忧杂货店 恐怖悬疑破案推理类侦探犯罪小说书籍鬼故事
http://product.dangdang.com/1529713113.html
['¥35.49']
['艺凡图书专营店']
---------
 东野圭吾:恶意(2016版,东野圭吾四大杰作之一)
http://product.dangdang.com/1578629092.html
['¥53.00']
['小熊贝比图书专营店']
---------
 恶意+圣女的救济
http://product.dangdang.com/1472279717.html
['¥83.90']
['博鸿文化图书专营店']
---------
 东野圭吾四大推理全集套装 正版小说集全套4册 嫌疑人X的献身+恶意+放学后+新参者 日本恐怖侦探悬疑文学外国惊悚推理小
http://product.dangdang.com/1585889476.html
['¥110.00']
['天智图书专营店']
---------
 东野圭吾恶意系列全套
http://product.dangdang.com/1530559052.html
['¥307.45']
['凤凰新华书店图书旗舰店']
---------
 正版现货 2册 白夜行+恶意(精装典藏版)推理小说无冕之王东野圭吾作品 畅销文艺丛书 日系侦探/悬疑/侦探推理小说读物
http://product.dangdang.com/1543807609.html
['¥88.80']
['赛文轩图书专营店']
---------
 东野烧脑推理套装4册 正版现货 全套 恶意谁杀了她悲剧人偶我杀了他 侦探悬疑推理小说青春校园 新华书店
http://product.dangdang.com/1258648709.html
['¥169.60']
['阅九州图书专营店']
---------
 东野圭吾作品 四大代表作 全套全集4册 正版现货 放学后+恶意+新参者+嫌疑人X的献身 侦探悬疑推理小说青春小说日本文
http://product.dangdang.com/1258648809.html
['¥156.00']
['阅九州图书专营店']
---------
 东野圭吾:恶意(2016版,东野圭吾杰作之一) 东野圭吾,娄美莲,新经典 出品 南海出版公司
http://product.dangdang.com/1502747184.html
['¥38.90']
['正瀚图书专营店']
---------
 正版现货 2册 白夜行+恶意(精装典藏版)推理小说无冕之王东野圭吾作品 畅销文艺丛书 日系侦探/悬疑
http://product.dangdang.com/1544372968.html
['¥78.90']
['金麦田图书专营店']
---------
 恶意(2016版)
http://product.dangdang.com/1900685031.html
['¥17.99']
当当自营
---------
 崔自三年度营销计划的有效制定与执行正版高清在线视频非DVD光盘 6
http://product.dangdang.com/1273859888.html
['¥99.00']
['点亮音像专营店']
---------
 恶意系列
http://product.dangdang.com/1901138034.html
['¥89.99']
当当自营
---------
 (2016)恶意/东野圭吾 随书赠书签 与白夜行 解忧杂货店 嫌疑人X的献身并称东野圭吾四大杰作 日本推理侦探文学小说
http://product.dangdang.com/1477124504.html
['¥25.00']
['金太阳图书专营店']
---------
 东野圭吾小说全集套装4册推理小说套装恶意+放学后+谁杀了她+悲剧人偶 红手指白夜行铺侦探推理恐怖悬疑小说正版书籍
http://product.dangdang.com/1572096056.html
['¥150.00']
['源泉图书专营店']
---------
 正版 恶意 东野圭吾的书 小说精装原版书籍 外国文学作品搭白夜行嫌疑人X的献身解忧杂货店 日本侦探悬疑推理惊悚小说畅销
http://product.dangdang.com/1584192917.html
['¥37.00']
['晖文锦绣图书专营店']
---------

Process finished with exit code 0
赞(0) 打赏
未经允许不得转载:散人研 » 爬虫实战 | 爬取当当网书籍价格信息
分享到: 更多 (0)

评论 抢沙发

2 + 9 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏