这是一个以http://item.jd.com/2957726.html为例的单页抓取案例
import urllib.request; #载入urllib.request,用于获取页面html源代码
from pandas import Series; #载入series包
from pandas import DataFrame; #载入dataframe包
from bs4 import BeautifulSoup; #载入beautifulsoup包
import json; #载入json包
response = urllib.request.urlopen('http://item.jd.com/2957726.html'); #获取html源代码
html = response.read(); #将源代码转入html
soup = BeautifulSoup(html); #解析html
data = DataFrame(columns=['Feature', 'Property']) #创建空白dataframe用于装载爬取信息
divSoup = soup.find(id="product-detail-2") #通过分析,发现规格参数所在部分id
trs = divSoup.find_all('tr');
for tr in trs :
tds = tr.find_all('td');
if len(tds)==2: #列表有两个值的时才执行爬取
f=tds[0].getText();
p=tds[1].getText();
data = data.append(
Series(
[f, p],
index=['Feature', 'Property']
), ignore_index=True
);
response = urllib.request.urlopen('http://p.3.cn/prices/get?skuid=J_2244423');
jsonString = response.read();
jsonObject = json.loads(jsonString.decode())
jsonObject[0]['p'] #解析p的值,即价格
df.to_csv("D:\\df.csv"); #导出结果结果:
| index | Feature | Property |
|---|---|---|
| 0 | 品牌 | 三星(SAMSUNG) |
| 1 | 型号 | G9350 |
| 2 | 颜色 | 深邃黑 |
| 3 | 上市年份 | 2016年 |
| 4 | 上市月份 | 6月 |
| 5 | 输入方式 | 触控 |
| 6 | 智能机 | 是 |
| 7 | 操作系统 | 安卓(Android) |
| 8 | 操作系统版本 | Android 6.0 |
| 9 | 用户界面 | TouchWiz 4.0 |
| 10 | CPU品牌 | Qualcomm 骁龙 |
| 11 | CPU型号 | 骁龙820 |
| 12 | CPU频率 | 2.15GHz,1.6GHz |
| 13 | CPU核数 | 四核 |
| 14 | GPU | Adreno 530 |
| 15 | 运营商标志或内容 | 无 |
| 16 | 4G网络制式 | 移动4G/联通4G/电信4G |
| 17 | 3G网络制式 | 移动3G(TD-SCDMA)/联通3G(WCDMA)/电信3G(CDMA2000) |
| 18 | 2G网络制式 | 移动2G/联通2G(GSM)/电信2G(CDMA) |
| 19 | 网络频率 | 4G LTE TDD B38(2600),B39(1900),B40(2300),B41(2500) |
| 20 | 机身内存 | 32GB ROM |
| 21 | 运行内存 | 4GB RAM |
| 22 | 储存卡类型 | MicroSD(TF) |
| 23 | 屏幕尺寸 | 5.5英寸 |
| 24 | 触摸屏 | 电容屏,多点触控 |
| 25 | 分辨率 | 2560×1440(2K) |
| 26 | 副屏参数 | NA |
| 27 | 超大字体 | 支持 |
| 28 | GPS模块 | 支持 |
| 29 | 重力感应 | 支持 |
| 30 | 光线感应 | 支持 |
| 31 | 距离感应 | 支持 |
| 32 | 电子罗盘 | 支持 |
| 33 | 陀螺仪 | 支持 |
| 34 | 后置摄像头 | 1200万像素 |
| 35 | 前置摄像头 | 500万像素 |
| 36 | 传感器类型 | CMOS |
| 37 | 闪光灯 | 支持 |
| 38 | 变焦模式 | 数码变焦 |
| 39 | 自动对焦 | 支持 |
| 40 | 收音机 | 不支持 |
| 41 | 音乐播放 | 支持 |
| 42 | 视频播放 | 支持 |
| 43 | 电视播放 | 不支持 |
| 44 | 录音 | 支持 |
| 45 | Wi-Fi | 支持 |
| 46 | WIFI热点 | 支持 |
| 47 | 蓝牙 | 支持 |
| 48 | NFC(近场通讯) | 支持 |
| 49 | OTG | 支持 |
| 50 | SIM卡尺寸 | Nano SIM卡 |
| 51 | 电池类型 | 锂电池 |
| 52 | 电池容量(mAh) | 3600 |
| 53 | 电池更换 | 不支持 |
| 54 | 理论待机时间(小时) | 339 |
| 55 | 机身尺寸(mm) | 150.9 x 72.6 x7.7 |
| 56 | 机身重量(g) | 157 |
| 57 | 机身材质 | 玻璃+金属 |
版权声明:本文为maxca原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。