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 相关文章推荐
TensorFlow安装及jupyter notebook配置方法
Sep 08 Python
教你用 Python 实现微信跳一跳(Mac+iOS版)
Jan 04 Python
python微信跳一跳系列之棋子定位像素遍历
Feb 26 Python
Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
Jul 27 Python
Python 数值区间处理_对interval 库的快速入门详解
Nov 16 Python
python实现小球弹跳效果
May 10 Python
关于初始种子自动选取的区域生长实例(python+opencv)
Jan 16 Python
Pytorch mask_select 函数的用法详解
Feb 18 Python
python的列表List求均值和中位数实例
Mar 03 Python
PyQt5 QDockWidget控件应用详解
Aug 12 Python
如何将json数据转换为python数据
Sep 04 Python
浅谈盘点5种基于Python生成的个性化语音方法
Feb 05 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 超链接 抓取实现代码
2009/06/29 PHP
PHP 配置文件中open_basedir选项作用
2009/07/19 PHP
php中引用符号(&)的使用详细介绍
2016/12/06 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
2020/02/15 PHP
IE 下的只读 innerHTML
2009/08/21 Javascript
js获取单选框或复选框值及操作
2012/12/18 Javascript
[JSF]使用DataModel处理表行事件的实例代码
2013/08/05 Javascript
如何解决Jquery库及其他库之间的$命名冲突
2013/09/15 Javascript
js弹窗返回值详解(window.open方式)
2014/01/11 Javascript
原生js和jquery实现图片轮播淡入淡出效果
2015/04/23 Javascript
原生JavaScript实现动态省市县三级联动下拉框菜单实例代码
2016/02/03 Javascript
Bootstrap3 datetimepicker控件使用实例
2016/12/13 Javascript
JavaScript中三种常见的排序方法
2017/02/24 Javascript
微信小程序开发图片拖拽实例详解
2017/05/05 Javascript
javascript实现二叉树的代码
2017/06/08 Javascript
cocos creator Touch事件应用(触控选择多个子节点的实例)
2017/09/10 Javascript
详解javascript 变量提升(Hoisting)
2019/03/12 Javascript
详解vue-video-player使用心得(兼容m3u8)
2019/08/23 Javascript
微信小程序模板消息推送的两种实现方式
2019/08/27 Javascript
ES6 class类链式继承,实例化及react super(props)原理详解
2020/02/15 Javascript
Python 3中的yield from语法详解
2017/01/18 Python
python+matplotlib绘制3D条形图实例代码
2018/01/17 Python
Python实现判断一行代码是否为注释的方法
2018/05/23 Python
python交互界面的退出方法
2019/02/16 Python
python配置文件写入过程详解
2019/10/19 Python
python对XML文件的操作实现代码
2020/03/27 Python
python实现小程序推送页面收录脚本
2020/04/20 Python
日本著名的平价时尚女性购物网站:Fifth
2016/08/24 全球购物
巴西图书和电子产品购物网站:Saraiva
2017/06/07 全球购物
C语言中break与continue的区别
2012/07/12 面试题
关于打架的检讨书
2014/01/17 职场文书
《唯一的听众》教学反思
2014/02/20 职场文书
幼儿园教师教育感言
2014/02/28 职场文书
伦敦奥运会的口号
2014/06/21 职场文书
2016优秀护士求职自荐信
2016/01/28 职场文书
MySQL 8.0 之不可见列的基本操作
2021/05/20 MySQL