jd尝试抓一个页面
来源:互联网 发布:linux 删除过期文件 编辑:程序博客网 时间:2024/06/05 15:19
通过分析html页面,发现评论以http://club.jd.com/review/xxxx-1-1-0.html 这种形式单独表现。
通过分析html可知,评论即(心得)的位置。
html代码:
<div class="comment-content"><dl><dt>标 签:</dt><dd><span class="comm-tags" href="#none"><span>信号稳定</span></span><span class="comm-tags" href="#none"><span>通话质量好</span></span><span class="comm-tags" href="#none"><span>电池耐用</span></span></dd></dl><dl><dt>心 得:</dt><dd>京东的东西质量就是不错,服务也很好</dd></dl>..........
jd.py
# -*- coding: utf-8 -*- import re,urllib,urllib2,requestsfrom BeautifulSoup import BeautifulSoupurl="http://club.jd.com/review/1196262-1-1.html"response = urllib2.urlopen(url).read()response=response.decode("gbk").encode("utf-8")soup=BeautifulSoup(response)*#print soup#beautifulsoup 使用正则,质对标签进行匹配#找出的评论范围太大,不准确#reg=r"<dd>([^<]+)</dd>"#comment=re.compile(reg).findall(response)#缩小范围<dl> <dt>心 得:</dt> <dd>评论</dd> </dl> 后面才是评论*comment=soup.findAll('div', attrs={'class':'comment-content'})for i in comment: #soup2=soup.findAll('dl') if('心 得:' in str(i)): c=re.search('<dd>([^<]+)</dd>',str(i)).group(1) print c #评论是一层一层嵌套的,这里一层一层解析,筛选。可能效率不高。但能达到效果
当时遇到问题:
1.首先是没有找到单独显示评论的页面,在一般商品页面中解析评论貌似很困难,查看源代码时html里面没有评论的信息。这和淘宝一样(通过高人指点获知单独显示评论的页面,嘿嘿)
2**.解码问题** 一般页面都是使用“gbk”但我解析的页面是“utf-8”,奇怪的是还是要用一般情况下的编码形式“gbk”.也就是,写爬虫时先要通过“gbk”解码,再转换成“utf-8”:decode(“gbk”).encode(“utf-8”)
3.爬取评论时使用嵌套循环。先从html中抽取
也可直接从有”心 得:”
里,检索到对里的评论。 0 0
- jd尝试抓一个页面
- 记一次页面失效,你正在尝试访问一个无效页面的错误
- jd
- jd
- JD
- JD
- python抓页面基础知识
- 一个jd-gui的注释清理工具
- 如何抓取一个页面的数据--第一次尝试这方面的的知识
- 尝试探索基于Linux C的网卡抓包过程
- 尝试探索基于Linux C的网卡抓包过程
- robotium的一个测试尝试
- robotium的一个测试尝试
- 尝试一个makefile半自动生成
- 尝试去实现一个Promise
- JD|Java Decompiler一个很好用的Java反编译工具
- 尝试获取页面的字符编码
- VS&SQL使用WEB登录页面尝试
- 集合元素的排列和组合
- @property和@private及在.m文件中声明变量的区别
- Linux中find常见用法示例
- 有关R关系网络图中init.igarph的生成
- 图的存储结构——邻接矩阵
- jd尝试抓一个页面
- Android之自制的分页表格控件 .
- shell编程必须要掌握的命令,xargs
- ANSYS命令
- oralce无法删除用户ORA-01940 无法删除连接用户
- Python的简介、下载及安装
- 从源码带看Volley的缓存机制
- DMLC深盟分布式深度机器学习开源平台解析
- 架构属于您自己的WebApp-2048游戏