美文网首页Python爬虫作业
作业二之简单爬虫正则表达式

作业二之简单爬虫正则表达式

作者: 上善若水_9a94 | 来源:发表于2017-05-29 17:40 被阅读0次

    好不容易盼来三天假,于是我在家蹲着coding啦。

    这一次课堂,我主要了解两个知识点:1、利用urllib抓取网页;2利用正则表达式获取网页中需要的内容。

    第一个练习做的比较顺利,代码如下:
    '''
    import urllib.request
    import re
    page = urllib.request.urlopen('https://tieba.baidu.com/p/3205263090')

    print(page.read())

    html = page.read()
    html = html.decode('UTF-8')

    src="([.\S].jpg)" pic_ext="jpeg"

    reg = r'src="([.\S].jpg)" pic_ext="jpeg"'
    imgurls = re.findall(reg, html) #匹配出所有url

    x=1

    遍历

    for imgurl in imgurls:
    print (imgurl)
    urllib.request.urlretrieve(imgurl,"E:/pycharmproject/pachongtest/%s.jpg"%x)
    print("downloading pic %d"%x)
    x+=1
    '''

    第二个练习遇到了困难。运行完毕后报“url错误”,我将url打印出来后发现是这样的:
    “//hbimg.b0.upaiyun.com/654953460733026a7ef6e101404055627ad51784a95c-B6OFs4_sq75sf”,试着更换正则表达式,得到的url还是这样的,最后没有办法,手动的在获取的每个url上加了一个http:,于是图片都能保存了。代码如下:
    '''
    import urllib.request
    import re
    page = urllib.request.urlopen('http://huaban.com/pins/1120072731/')
    html = page.read()
    html = html.decode('UTF-8')
    print(html)

    reg = r'<img src="([.\S])"'
    imgurls = re.findall(reg, html) #匹配出所有url

    x=1

    遍历

    for imgurl in imgurls:

     imgurl='http:'+imgurl
     print(imgurl)
     urllib.request.urlretrieve(imgurl,"E:/pycharmproject/pachongtest/%s.jpg"%x)
     print("downloading pic %d"%x)
     x+=1
    

    '''

    另外,因为开始是在OSX上写的,环境是python2.7,这两天换到台式机上,装的python3.6,发现语法什么的还是有很多不一样,两边的代码放到对方那不一定能正确运行。

    相关文章

      网友评论

        本文标题:作业二之简单爬虫正则表达式

        本文链接:https://www.haomeiwen.com/subject/bhflfxtx.html