专栏首页杂七杂八爬虫简单应用之爬取京东手机图片

爬虫简单应用之爬取京东手机图片

import re
import urllib.request
#只能爬取非延时加载的图片,匹配方式为正则匹配
def craw(url,page):

    #decode之后html字符串将以页面形式展现
    # 正则匹配时需要加上re.S来匹配换行符,因为.默认不匹配换行符
    #也可以不加re.S,这时就不要decode,html中中文以unicode字符展现,
    # 此时html为bytes,需要强转为str进行匹配
    html = urllib.request.urlopen(url).read().decode('utf-8')
    #html = str(html)
    pattern1 = '<div id="plist".*?<div class="page clearfix">'
    str1 = re.compile(pattern1,re.S).findall(html)[0]
    pattern2 = '![](//(.*?\.jpg))'
    imageurls = re.compile(pattern2).findall(str1)
    x = 1
    para2 = str(x)
    for imageurl in imageurls:
        imagename = 'D:/image/'+str(page)+str(x)+'.jpg'
        print(imagename)
        imageurl = 'http://'+imageurl
        try:
            urllib.request.urlretrieve(imageurl,filename=imagename)
        except urllib.error.URLERROR as e:
            if hasattr(e,"code"):
                x+=1
            if hasattr(e,"reason"):
                x+=1
        x+=1


for i in range(1,79):
    url = "https://list.jd.com/list.html?cat=9987,653,655&page="+str(i)
    craw(url,i)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Eclipse之working sets使用

    Eclipse是开发Java最常用的一个软件,但是当我们项目变多的时候,就变得十分繁杂不好查找。还好eclipse给我们提供了working sets使用。 ...

    听城
  • xss防御

    XSS攻击:跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故...

    听城
  • 简单的正则表达式

    特殊字符 ^ $ * ? + {2} {2,} {2,5} | [] [^] [a-z] . \s \S \w \W [\u4E00-\u9FA5] ...

    听城
  • LeetCode 856. 括号的分数

    () 得 1 分。 AB 得 A + B 分,其中 A 和 B 是平衡括号字符串。 (A) 得 2 * A 分,其中 A 是平衡括号字符串。

    Michael阿明
  • Scrapy笔记三 自动多网页爬取-本wordpress博客所有文章

    学习自http://blog.csdn.net/u012150179/article/details/34486677

    十四君
  • 经典笔试题-C++篇

    答:for 循环中的变量i 的类型不应定义为vector::size_type, 因为该类型为无符号数值类型,故循环条件将恒成立,为死循环,应将其类型定义为有...

    cwl_java
  • 数组和指针一道非常值得深思的笔试题

    两年前找工作笔试遇到下面这道题,说实话还是挺基础的,虽然当时笔试被我给猜对了,但还是要深究一下具体的转换细节。 题目如下:

    morixinguan
  • 【机器学习课程】深度学习与神经网络系列之绪论介绍

    神经网络与深度学习 让机器具备智能是人们长期追求的目标,但是关于智能的定义也十分模糊。Alan Turing在 1950年提出了著名的图灵测试:“一个人在不接触...

    量化投资与机器学习微信公众号
  • 腾讯云服务器购买流程-优惠购买腾讯云服务器

    腾讯云服务器购买流程是什么?怎么通过优惠的价格购买腾讯云服务器。下面详细介绍腾讯云服务器的购买流程。

    春天来了
  • 腾讯云服务器购买流程

    腾讯云服务器购买流程是什么?怎么通过优惠的价格购买腾讯云服务器。下面详细介绍腾讯云服务器的购买流程。

    勤劳的小蜜蜂

扫码关注云+社区

领取腾讯云代金券