美文网首页
开完车之后继续写回lofter (python小白登天日记)

开完车之后继续写回lofter (python小白登天日记)

作者: DoraLvor | 来源:发表于2017-07-10 15:18 被阅读341次

    1024的问题我问了各路小伙伴,外加各种搜索,始终不得要领,最后只知道是<a href = "https://www.cloudflare.com/">cloudflare</a>这个网站的功劳,1024使用了他的服务,用来反爬虫!我虽然是小白,可我不是吃素的啊,待我有一天功成名就,回来接着搞你。

    登天路的我走了没几步,坎坎坷坷,回头先把lofter的爬虫继续写完吧,跨域等反爬虫的手段,我将在路上一一把它们解决掉。

    说回lofter,上次写的lofter爬虫,我和大侄子选的是最简单最好抓的一个页面,图片只有一页,规律也很好找,所以并没有什么特别难的地儿,这次换一个难一点的,薛小白儿:<code>http://siyueshige.lofter.com/</code>

    截图

    薛小白儿有12页的高清照片,我先判断是否有:


    网页元素

    如果有的话,通过for 循环拼接url,然后再下载图片,直接上code:

    <code># -- coding: UTF-8 --
    import urllib
    from bs4 import BeautifulSoup
    import re
    import os
    import urllib2
    import sys
    reload(sys)
    sys.setdefaultencoding('utf8')
    url = "http://siyueshige.lofter.com/"
    page_number = 1
    now_url = url + "?page=" + str(page_number)
    soup = BeautifulSoup(urllib.urlopen(now_url).read(), 'html.parser')
    print soup
    img_url_arr = soup.find_all('img', attrs={'src': re.compile('http://imglf')})
    now_page_number = 0
    user_name = soup.title.get_text()
    def get_nextPage_img():
    global href_list
    global now_page_number
    global img_url_arr
    for number in href_list:
    now_url = url + number['href'] # 现在的网址
    print now_url
    soup = BeautifulSoup(urllib.urlopen(now_url).read(), 'html.parser')
    img_url_arr = soup.find_all('img', attrs={'src': re.compile('http://imglf')})
    print img_url_arr
    dowload_img()
    now_page_number += len(img_url_arr)
    def dowload_img(): # 开始下载图片
    print "downloadnowpagenumer = "+str(now_page_number)
    global img_url_arr
    print img_url_arr
    for index, img_url in enumerate(img_url_arr):
    user_suffix = re.sub('.*(&type=)', '', img_url['src'])
    img_index = now_page_number + index
    print img_index
    img_name = str(user_name) + str(img_index) + '.' + "jpg"
    file_name = os.path.join('lofter',img_name)
    urllib.urlretrieve(img_url['src'], file_name)
    if name == 'main':
    if (len(soup.find_all('a', attrs={'class': 'pgnum'})) >= 2):
    href_list = soup.find_all('a', attrs={'class': 'pgnum'})
    get_nextPage_img()
    else:
    dowload_img()</code>

    待更()

    相关文章

      网友评论

          本文标题:开完车之后继续写回lofter (python小白登天日记)

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