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

时间:2022-11-11 18:23:04 


#-*- 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,京东商城手机
0
投稿

猜你喜欢

  • Python对XML文件实现增删改查操作

    2023-11-19 20:42:03
  • Python 实现中值滤波、均值滤波的方法

    2022-05-09 08:58:38
  • tensorflow实现简单的卷积神经网络

    2021-07-15 21:13:02
  • 用ASP对网页进行限制性的访问

    2008-07-03 13:02:00
  • asp生成静态HTML(动态读取)

    2013-06-27 19:54:48
  • Python matplotlib如何简单绘制不同类型的表格

    2021-10-16 12:23:48
  • Python实用技巧之利用元组代替字典并为元组元素命名

    2022-08-21 19:39:42
  • python中Pexpect的工作流程实例讲解

    2021-05-04 15:51:28
  • django rest framework 数据的查找、过滤、排序的示例

    2023-07-18 16:33:39
  • Python进行特征提取的示例代码

    2021-04-07 15:59:12
  • sql2000各个版本区别总结第1/3页

    2024-01-15 10:09:42
  • Oracle RMAN还原时set newname文件名有空格报错的解决方法

    2024-01-23 18:11:31
  • Python开发之Nginx+uWSGI+virtualenv多项目部署教程

    2023-07-30 04:42:39
  • MYSQL表优化方法小结 讲的挺全面

    2024-01-25 14:20:00
  • YUI Compressor快速使用指南

    2011-06-27 20:07:30
  • 解析PHP观察者模式Observer

    2023-07-08 13:38:58
  • Golang实现http文件上传小功能的案例

    2023-07-19 00:55:37
  • Select的OnChange()事件

    2009-03-03 12:40:00
  • Python设计模式行为型责任链模式

    2021-08-15 05:58:16
  • 了解WEB页面工具语言XML(三)支持工具

    2008-09-05 17:18:00
  • asp之家 网络编程 m.aspxhome.com