Python应用-爬取京东书籍信息

Python应用-爬取京东书籍信息

说到Python的应用,听到比较多的市爬虫,爬虫也是Python入门最好的练手项目。本文主要讲解xpath的用法,并使用xpath来分析和抓取爬取京东书籍的相关信息。关于书籍有一个基本的概念:国际标准书号(简称ISBN),每一本书出版都带有一个唯一的ISBN,本文也是通过ISBN来找到对应数据的信息

环境介绍

PC环境:Windows
Python版本:Python3.6
IDE环境:PyCharm
使用第三方库:lxml、requests
源码下载:http://03.xiaolinjun.top/0c5-0.zip

使用PyCharm建立Python工程

在桌面新建文件夹:python_spiderJD,双击打开PyCharm,点击Create New Project新建Python工程,选择工程目录文件夹为刚新建的python_spiderJD,使用新的虚拟环境,选择Python解释器为Python3.6,如下图

工程建立完成后,在工程目录下新建文件:spiderJD.py

使用PyCharm安装相关第三方库

在PyCharm中安装lxml和requests库。点击菜单栏File–>Settings选择Project:python_spiderJD下的Project Interpreter,然后点击右边的小加号,在弹出的窗口中搜索需要安装的库,然后点击安装

安装好lxml和requests库后,可以看到该环境下多出了一下库(注:如提示安装失败,可能是由于pip的版本问题导致,可以将pip的版本降级为pip9以下版本或修改相关脚本文件)

代码实现爬取京东指定ISBN号书籍信息

代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import requests
from lxml import html

# 在京东商城通过ISBN来查找对应书籍信息
def spider(isbn):
# 获取URL
url = 'https://search.jd.com/Search?keyword={0}'.format(isbn)

# 获取HTML文档,并将编码改为'utf-8'
resp = requests.get(url)
print(resp.encoding)
resp.encoding = 'utf-8'
html_doc = resp.text

# 获取xpath对象
selector = html.fromstring(html_doc)

# 找到列表的集合
ul_list = selector.xpath('//div[@id = "J_goodsList"]/ul/li')
print(len(ul_list))

# 解析对应的内容、标题、价格、连接并打印
for li in ul_list:
# 标题
title = li.xpath('div/div[@class = "p-name"]/a/@title')
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//a[@class="curr-shop"]/@title')
print(store)


if __name__ == '__main__':
isbn = input('请输入ISBN')
spider(isbn)

代码分析

  1. 首先导入requests库和lxml的html方法
  2. 定义函数实现获取京东网指定ISBN书籍信息
    1. 根据获取URL页面内容
    2. 把页面内容的编码方式改为utf-8
    3. 将页面内容转换为xpath对象
    4. 使用xpath解析页面内容,找出有用信息并打印

实现效果

运行代码,输入ISBN号(以书籍 Python编程快速上手 让繁琐工作自动化 ISBN:9787115422699 为例),点击回车,如下

HTML页面分析技巧

打开京东,搜索框中输入ISBN:9787115422699,点击搜索,然后按F12查看网页源码,点击左上角的小箭头工具,然后选择书籍的区域,这时会自动定位到源码中的位置

本文标题:Python应用-爬取京东书籍信息

文章作者:LGG001

发布时间:2018年09月25日 - 21:09

最后更新:2019年01月20日 - 23:01

原始链接:http://yoursite.com/2018/09/25/Python应用-爬取京东书籍信息/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

-------------本文结束感谢您的阅读-------------
Thank You For Your Approval !