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基础入门之seed()方法的使用
May 15 Python
举例讲解如何在Python编程中进行迭代和遍历
Jan 19 Python
Python实现的十进制小数与二进制小数相互转换功能
Oct 12 Python
Python3 加密(hashlib和hmac)模块的实现
Nov 23 Python
python3.6 +tkinter GUI编程 实现界面化的文本处理工具(推荐)
Dec 20 Python
Python中最大最小赋值小技巧(分享)
Dec 23 Python
python3.x 将byte转成字符串的方法
Jul 17 Python
python3文件复制、延迟文件复制任务的实现方法
Sep 02 Python
Python栈的实现方法示例【列表、单链表】
Feb 22 Python
python deque模块简单使用代码实例
Mar 12 Python
python使用QQ邮箱实现自动发送邮件
Jun 22 Python
Python实现猜拳与猜数字游戏的方法详解
Apr 06 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
PHPMailer发送邮件
2016/12/28 PHP
PHP+Redis 消息队列 实现高并发下注册人数统计的实例
2018/01/29 PHP
JavaScript 数组循环引起的思考
2010/01/01 Javascript
js时间戳格式化成日期格式的多种方法
2013/11/11 Javascript
JavaScript中的包装对象介绍
2015/01/27 Javascript
浅谈js 闭包引起的内存泄露问题
2015/06/22 Javascript
javascript实现全角转半角的方法
2016/01/23 Javascript
Vue.js基础知识汇总
2016/04/27 Javascript
jQuery通过ajax方法获取json数据不执行success的原因及解决方法
2016/10/15 Javascript
layer弹出层 iframe层去掉滚动条的实例代码
2018/08/17 Javascript
JavaScript作用域链实例详解
2019/01/21 Javascript
Vue基本使用之对象提供的属性功能
2019/04/30 Javascript
Vue文本模糊匹配功能如何实现
2020/07/30 Javascript
JavaScript实现拖拽和缩放效果
2020/08/24 Javascript
解决Ant Design Modal内嵌Form表单initialValue值不动态更新问题
2020/10/29 Javascript
python之yield表达式学习
2014/09/02 Python
用Python代码来绘制彭罗斯点阵的教程
2015/04/03 Python
Python简单读取json文件功能示例
2017/11/30 Python
Python实现将一个正整数分解质因数的方法分析
2017/12/14 Python
Python subprocess模块常见用法分析
2018/06/12 Python
Python函数参数操作详解
2018/08/03 Python
Python实现查找二叉搜索树第k大的节点功能示例
2019/01/24 Python
Pandas中Series和DataFrame的索引实现
2019/06/27 Python
Win10环境python3.7安装dlib模块趟过的坑
2019/08/01 Python
python处理document文档保留原样式
2019/09/23 Python
python 使用opencv 把视频分割成图片示例
2019/12/12 Python
Python爬虫:Request Payload和Form Data的简单区别说明
2020/04/30 Python
PyTorch在Windows环境搭建的方法步骤
2020/05/12 Python
python3 kubernetes api的使用示例
2021/01/12 Python
python中四舍五入的正确打开方式
2021/01/18 Python
英文版网络工程师求职信
2013/10/28 职场文书
信息与工商管理职业规划范文:为梦想而搏击
2014/09/11 职场文书
2014年幼儿园学期工作总结
2014/12/05 职场文书
解除处分决定书
2015/06/25 职场文书
小学体育教学随笔
2015/08/14 职场文书
详解在OpenCV中如何使用图像像素
2022/03/03 Python