我的编程空间,编程开发者的网络收藏夹
学习永远不晚

爬取某网站写的python代码

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

爬取某网站写的python代码

    代码如下:

import requestsfrom pyquery import PyQueryimport reimport osimport csvimport datetime"""    说明:该代码是专门为爬取http://www.kgtmall.com.cn/商品而设计的。    使用方法:        1、在本地提前安装好python3的环境;        2、直接运行本代码;        3、运行本代码完后,会在当前目录生成一个result.csv文件,该文件里面就存了爬取该站点的商品信息    注意事项:在本代码运行期间,不能打开result.csv文件,因为这样程序就写不进去数据了;只能等本代码            全部运行结束后,才能打开esult.csv文件进行查看。    """def get_html_text(url):    """    获取首页源代码    :param url:    :return:    """    r = requests.get(url)    return r.textdef get_one_level_class(home_url):    """    一级标题        母婴用品 http://www.kgtmall.com.cn/mall/list.php?catid=4        生活家居 http://www.kgtmall.com.cn/mall/list.php?catid=5    """    html = get_html_text(home_url)    jpy = PyQuery(html)    items = jpy('.menu_title a')    for line in items:        jpy = PyQuery(line)        one_level_url = jpy('a').attr('href')        one_level_title = jpy('a').text()        yield one_level_url, one_level_titledef get_two_level_class(home_url):    """    二级标题        母婴用品 营养辅食 http://www.kgtmall.com.cn/mall/search.php?catid=539        母婴用品 妈妈专区 http://www.kgtmall.com.cn/mall/search.php?catid=544        母婴用品 婴儿保健 http://www.kgtmall.com.cn/mall/search.php?catid=887    """    for one_level_url, one_level_title in get_one_level_class(home_url):        jpy = PyQuery(one_level_url)        items = jpy('.selector_category li')        for line in items:            jpy = PyQuery(line)            two_level_url = jpy('a').attr('href')            two_level_title = jpy('a').text()            yield one_level_title, two_level_title, two_level_urldef get_pages(url):    """    获取页数    :return:    """    jpy = PyQuery(url)    pages = jpy('.pagination cite').text()    print('原pages:', pages)    try:        pages = int(re.findall('共.*?条/(.*)页', pages)[0])    except Exception as e:        print(e)        pages = 1    print('页码:', pages)    return pagesdef get_three_level_class(home_url):    """    三级标题        母婴用品 营养辅食 DHA http://www.kgtmall.com.cn/mall/search.php?catid=548        母婴用品 营养辅食 益生菌/初乳 http://www.kgtmall.com.cn/mall/search.php?catid=549        母婴用品 营养辅食 清火/开胃/驱虫 http://www.kgtmall.com.cn/mall/search.php?catid=550    """    for one_level_title, two_level_title, two_level_url in get_two_level_class(home_url):        jpy = PyQuery(two_level_url)        items = jpy('.selector_category li')        for line in items:            jpy = PyQuery(line)            three_level_title = jpy('a').text()            three_level_url = jpy('a').attr('href')            catid = re.findall('http://www.kgtmall.com.cn/mall/search.php\?catid=(.*)', three_level_url)[0]            pages = get_pages(three_level_url)            # for index in range(1, 3):            for index in range(1, pages + 1):                three_level_url_by_xiaoliang = 'http://www.kgtmall.com.cn/mall/search.php?kw=&list=0&catid={}&order=10&minprice=&maxprice=&page={}'.format(                catid, index)                yield one_level_title, two_level_title, three_level_title, three_level_url_by_xiaoliangdef shop_title_and_url(home_url):    """    商品标题和url        母婴用品 营养辅食 DHA 澳洲直邮 澳大利亚RIFOLD 儿童DHA90粒(一月以上适用) http://www.kgtmall.com.cn/mall/show.php?itemid=28089        母婴用品 营养辅食 益生菌/初乳 澳大利亚 Maxigenes美可卓 全脂高钙奶粉(蓝胖子)1kg 两罐装 http://www.kgtmall.com.cn/mall/show.php?itemid=23486    """    for one_level_title, two_level_title, three_level_title, three_level_url_by_xiaoliang in get_three_level_class(home_url):        jpy = PyQuery(three_level_url_by_xiaoliang)        items = jpy('.list_img a')        for line in items:            jpy = PyQuery(line)            shop_url = jpy('a').attr('href')            shop_title = jpy('a img').attr('alt')            yield one_level_title, two_level_title, three_level_title, shop_title, shop_urldef get_shop_info(home_url, count):    for one_level_title, two_level_title, three_level_title, shop_title, shop_url in shop_title_and_url(home_url):        print('--排错:' + one_level_title, two_level_title, three_level_title, shop_title, shop_url)        jpy = PyQuery(shop_url)        price = jpy('.price').text()        # 条形码        bar_code = jpy('.bar_code dl dd p').text()        goods_detail = jpy('#content')        try:            guige = re.findall('规格:(.*)', goods_detail.text())[0]        except:            guige = '没有规格'        try:            chandi = re.findall('产地:(.*)', goods_detail.text())[0]        except:            chandi = '没有产地'        print(count, one_level_title, two_level_title, three_level_title, shop_title,  bar_code, chandi, guige,  price, shop_url)        row = ([one_level_title, two_level_title, three_level_title, shop_title,  bar_code, chandi, guige,  price, shop_url])        ppath = os.path.dirname(__file__)        csv_file = ppath + '/result.csv'        # newline是为了解决csv文件里面有多余的空行,encoding是为了解决写不进csv数据报字符集的报错        with open(csv_file, 'a', newline='', encoding='utf-8') as f:            writer = csv.writer(f)            writer.writerow(row)        count += 1def main():    # 记录一下开始时间    start_time = datetime.datetime.now()    home_url = 'http://www.kgtmall.com.cn/'    # 当前代码路径    ppath = os.path.dirname(__file__)    csv_file = ppath + '/result.csv'    headers = (['一级分类', '二级分类', '三级分类', '商品名称', '条码', '产地', '规格', '价格', '商品链接'])    # newline是为了解决csv文件里面有多余的空行,encoding是为了解决写不进csv数据报字符集的报错    with open(csv_file, 'w', newline='', encoding='utf-8') as f:        writer = csv.writer(f)        writer.writerow(headers)    count = 1    get_shop_info(home_url, 1)    # 记录一下结束时间    end_time = datetime.datetime.now()    # 记录程序执行用时    timediff = end_time - start_time    print('总共用时{}秒\n'.format(str(timediff.seconds)))    print('全部商品已经按需求完成!!!')if __name__ == '__main__':    main()

    运行后,会在当前目录下生成个result.csv文件,内容如下:

爬取某网站写的python代码

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

爬取某网站写的python代码

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

爬取某网站写的python代码

代码如下:import requestsfrom pyquery import PyQueryimport reimport osimport csvimport datetime""" 说明:该代码是专门为爬取http://
2023-06-04

Python爬虫爬取美剧网站的实现代码

一直有爱看美剧的习惯,一方面锻炼一下英语听力,一方面打发一下时间。之前是能在视频网站上面在线看的,可是自从广电总局的限制令之后,进口的美剧英剧等貌似就不在像以前一样同步更新了。但是,作为一个宅diao的我又怎甘心没剧追呢,所以网上随便查了一
2022-06-04

python怎么爬取某网站图片

Python爬取网页图片教程本文介绍了如何使用Python从网页上爬取图片。首先获取网页源代码,然后解析HTML以找到图像URL。接着下载图像并处理下载过程中的异常。文章还提供了一些高级技巧,例如并行化、处理重定向和使用代理。通过遵循本教程,开发者可以轻松地开发Python程序来收集网页上的图像。
python怎么爬取某网站图片
2024-04-13

Python爬虫实战之用selenium爬取某旅游网站

目录一、selenium实战二、打开艺龙网三、精确目标四、成功结语一、selenium实战 这里我们只会用到很少的selenium语法,我这里就不补充别的用法了,以实战为目的 二、打开艺龙网 可以直接点击这里进入:艺龙网 这里是主页三、精确
2022-06-02

python如何爬取某网站原图作为壁纸

这篇文章主要介绍python如何爬取某网站原图作为壁纸,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!完整代码# -*- coding: utf-8 -*-"""Created on Wed May 26 17:53:
2023-06-15

Python轻松爬取写真网站全部图片

从写真网站下载图像本教程提供了逐步说明,指导您使用Python3.x从目标写真网站下载图像。它涵盖了从获取HTML到解析图像链接和保存图像的各个步骤。还包括高级用法,例如多线程下载、过滤特定图像大小和处理分页。请务必遵守网站的使用规则和尊重版权。
Python轻松爬取写真网站全部图片
2024-04-12

Python轻松爬取写真网站全部图片

以下是一个使用Python爬取写真网站全部图片的示例代码:```pythonimport requestsfrom bs4 import BeautifulSoupimport os# 定义写真网站的URLurl = 'https://ex
2023-09-15

怎么用Python爬取某图网的图片

本篇内容介绍了“怎么用Python爬取某图网的图片”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!相信很多设计小伙伴有好的灵感,但是没有好的设
2023-06-15

R语言怎样抓取某网站JSON数据的代码

R语言怎样抓取某网站JSON数据的代码,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。R语言抓取某网站JSON数据的代码如下:library(RCurl)library(bi
2023-06-02

python爬取新闻门户网站的示例

项目地址: https://github.com/Python3Spiders/AllNewsSpider 如何使用 每个文件夹下的代码就是对应平台的新闻爬虫py 文件直接运行pyd 文件需要,假设为 pengpai_news_spider
2022-06-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录