python抓取京东商城手机列表url实例代码


Posted in Python onDecember 18, 2013
#-*- coding: UTF-8 -*-
'''
Created on 2013-12-5
@author: good-temper
'''
import urllib2
import bs4
import time
def getPage(urlStr):
    '''
                获取页面内容
    '''
    content = urllib2.urlopen(urlStr).read()
    return content
def getNextPageUrl(currPageNum):
    #http://list.jd.com/9987-653-655-0-0-0-0-0-0-0-1-1-页码-1-1-72-4137-33.html
    url =  u'http://list.jd.com/9987-653-655-0-0-0-0-0-0-0-1-1-'+str(currPageNum+1)+'-1-1-72-4137-33.html'
    #是否有下一页
    content = getPage(url);
    soup = bs4.BeautifulSoup(content)
    list = soup.findAll('span',{'class':'next-disabled'});
    if(len(list) == 0):
        return url
    return ''
def analyzeList():
    pageNum = 0
    list = []
    url = getNextPageUrl(pageNum)
    while url !='':
        soup = bs4.BeautifulSoup(getPage(url))
        pagelist = soup.findAll('div',{'class':'p-name'})
        for elem in pagelist:
            soup1 =  bs4.BeautifulSoup(str(elem))
            list.append(soup1.find('a')['href'])
        pageNum = pageNum+1
        print pageNum
        url = getNextPageUrl(pageNum)
    return list
def analyzeContent(url):
    return ''
def writeToFile(list, path):
    f = open(path, 'a')
    for elem in list:
        f.write(elem+'\n')
    f.close()
if __name__ == '__main__':
    list = analyzeList()
    print '共抓取'+str(len(list))+'条\n'
    writeToFile(list, u'E:\\jd_phone_list.dat');
Python 相关文章推荐
Python判断字符串与大小写转换
Jun 08 Python
Python sklearn KFold 生成交叉验证数据集的方法
Dec 11 Python
python变量赋值方法(可变与不可变)
Jan 12 Python
Django如何防止定时任务并发浅析
May 14 Python
使用TensorFlow实现简单线性回归模型
Jul 19 Python
python pandas 时间日期的处理实现
Jul 30 Python
Python 字符串类型列表转换成真正列表类型过程解析
Aug 26 Python
Python 元组操作总结
Sep 18 Python
python操作gitlab API过程解析
Dec 27 Python
总结Pyinstaller的坑及终极解决方法(小结)
Sep 21 Python
详解用python -m http.server搭一个简易的本地局域网
Sep 24 Python
python3.9.1环境安装的方法(图文)
Feb 02 Python
python获取糗百图片代码实例
Dec 18 #Python
python算法学习之计数排序实例
Dec 18 #Python
python算法学习之基数排序实例
Dec 18 #Python
python算法学习之桶排序算法实例(分块排序)
Dec 18 #Python
python计算最大优先级队列实例
Dec 18 #Python
python计算最小优先级队列代码分享
Dec 18 #Python
python查找第k小元素代码分享
Dec 18 #Python
You might like
php基础学习之变量的使用
2011/06/09 PHP
php图片上传存储源码并且可以预览
2011/08/26 PHP
destoon实现调用自增数字从1开始的方法
2014/08/21 PHP
php生成不重复随机数、数组的4种方法分享
2015/03/30 PHP
关于PHP定时发送服务的解决办法
2017/04/23 PHP
Mozilla 表达式 __noSuchMethod__
2009/04/05 Javascript
Mootools 1.2教程 滚动条(Slider)
2009/09/15 Javascript
灵活应用js调试技巧解决样式问题的步骤分享
2012/03/15 Javascript
jQueryUI写一个调整分类的拖放效果实现代码
2012/05/10 Javascript
jquery html动态生成select标签出问题的解决方法
2013/11/20 Javascript
基于jQuery+Cookie实现的防止刷新的在线考试倒计时
2015/06/19 Javascript
JS实现从网页顶部掉下弹出层效果的方法
2015/08/06 Javascript
jQuery实现选项联动轮播效果【附实例】
2016/04/19 Javascript
jQuery 常见小例汇总
2016/12/14 Javascript
为JQuery EasyUI 表单组件增加焦点切换功能的方法
2017/04/13 jQuery
解决AngualrJS页面刷新导致异常显示问题
2017/04/20 Javascript
JavaScript实现树的遍历算法示例【广度优先与深度优先】
2017/10/26 Javascript
nodejs连接mysql数据库及基本知识点详解
2018/03/20 NodeJs
layui实现数据分页功能(ajax异步)
2019/07/27 Javascript
在Vue中使用CSS3实现内容无缝滚动的示例代码
2020/11/27 Vue.js
跟老齐学Python之一个免费的实验室
2014/09/14 Python
python实现挑选出来100以内的质数
2015/03/24 Python
介绍Python的Django框架中的静态资源管理器django-pipeline
2015/04/25 Python
Python实现的视频播放器功能完整示例
2018/02/01 Python
PyQt5每天必学之带有标签的复选框
2018/04/19 Python
pycharm 配置远程解释器的方法
2018/10/28 Python
python怎么删除缓存文件
2020/07/19 Python
Python2及Python3如何实现兼容切换
2020/09/01 Python
解决python3.x安装numpy成功但import出错的问题
2020/11/17 Python
css3实现冲击波效果的示例代码
2018/01/11 HTML / CSS
IE10 Error.stack 让脚本调试更加方便快捷
2013/04/22 HTML / CSS
size?瑞典:英国伦敦的球鞋精品店
2018/03/01 全球购物
DNA基因检测和分析:23andMe
2019/05/01 全球购物
和平主题的演讲稿
2014/01/12 职场文书
2014年售后服务工作总结
2014/11/18 职场文书
教你用Java Swing实现自助取款机系统
2021/06/11 Java/Android