zoukankan      html  css  js  c++  java
  • 爬取京东历史图书图片并下载到本地____requests库

    # 写在开头:保持每天更新一篇压力还是挺大的,仔细看看之前更新的文章发现。我的文章对新手不太友好,因为已经有的特别好的python基础入门资料太多,我也不想只做一个搬运工。时间有限,我的文章只能作为一个补充,以及自我记录总结的工具,作为我个人学习python的一个记录。目前想写出很好的实战价值的文章还是有些难度,能力和时间都不够。但是我会向这个方向努力。

    #那么我博客的价值在哪里呢?我觉得目前的价值是对我更大;如果说是对不小心看到我这里的读者来说。如果看到我的探索和记录,希望我的行为能给你坚持的力量;同时,我的部分文章中是我切实在菜鸟学习过程中踩过的各种坑,其实如果能静下心来阅读还是有很多收获的,我保证。当然,你如果有兴趣也可以和我一道学习,并来和我交流。这条路我是一定会坚持走下去的。

    # 今天放一篇,我三天前自己写的一个爬虫,过程中遇到很多问题,不过能做出来也很开心了。后期我会完善,继续把这篇代码扩展。



    code:

    import requests
    import re
    
    
    def craw(url, page):
        # url = "https://list.jd.com/list.html?cat=1713,3258,3317"
        headers = {
            "User-Agent": "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Mobile Safari/537.36",
        }
        response = requests.get(url, headers=headers, timeout=10)
        html = response.text
        # print(html)
        urls = re.findall(
            r'<div class="p-img".*?img width="200" height="200" data-img="1" src="//(img.*?\.360buyimg.com/.*?\.jpg).*?</a>',
            html, re.S)
    
        x = 1
        for b_url in urls:
            p_url = "https://" + str(b_url)
            # print(b_url)
            print(p_url)
            filename = "C:/Users/XIEG2/Desktop/ll/" + str(page) +"--" + str(x) + ".jpg"
            fb = open(filename, 'wb+')
            req = requests.get(p_url)
            # print(req.encoding)
            # print(req.text)
            fb.write(req.content)  # 哈哈,神奇  原来就是 content 方法
            fb.close()
            x += 1
    
    # 选择爬取页数
    def craw_page(page):
        for i in range(1, page):
            url = "https://list.jd.com/list.html?cat=1713,3258,3317&page=" + str(i)
            craw(url, i)
    craw_page(10) # 数字可以随意指定,建议大家数字设小一点,免得给服务器造成负担。当然,京东服务器轻易也不会崩溃。哈哈
    



  • 相关阅读:
    wordpress站点更换域名了如何快速设置
    wordpress调用文章摘要,若无摘要则自动截取文章内容字数做为摘要
    宝塔https部署没成功的原因排查
    全球百大网站排行榜6月榜出炉
    深度 | 邢波教授谈人工智能科学路径:为人工智能装上「无穷动」引擎
    C++中public,protected,private派生类继承问题和访问权限问题
    谁再说Matlab速度慢,我跟谁急
    C++常用的#include头文件总结
    Visual Studio的调试技巧
    How to (seriously) read a scientific paper
  • 原文地址:https://www.cnblogs.com/xiegalpha/p/9231664.html
Copyright © 2011-2022 走看看