亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

python爬蟲(chóng)實(shí)戰(zhàn),requests模塊,Python實(shí)現(xiàn)抓取頭條街拍美圖

番茄西紅柿 / 3454人閱讀

摘要:前言利用爬取的是今日頭條中的街拍美圖。詳細(xì)瀏覽器信息獲取文章鏈接相關(guān)代碼街拍獲取失敗這里需要提一下模塊的報(bào)錯(cuò)在對(duì)象上調(diào)用方法如果下載文件出錯(cuò)會(huì)拋出異常需要使用和語(yǔ)句將代碼行包裹起來(lái)處理這一錯(cuò)誤不讓程序崩潰。

前言

利用Python爬取的是今日頭條中的街拍美圖。廢話(huà)不多說(shuō)。

讓我們愉快地開(kāi)始吧~

開(kāi)發(fā)工具

Python版本: 3.6.4

相關(guān)模塊:

requests模塊;

re模塊;

以及一些Python自帶的模塊。

環(huán)境搭建

安裝Python并添加到環(huán)境變量,pip安裝需要的相關(guān)模塊即可。

詳細(xì)瀏覽器信息

獲取文章鏈接相關(guān)代碼:

import requestsimport jsonimport reheaders = {    'user-agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'}def get_first_data(offset):    params = {        'offset': offset,        'format': 'json',        'keyword': '街拍',        'autoload': 'true',        'count': '20',        'cur_tab': '1',        'from':'search_tab'    }    response = requests.get(url='https://www.toutiao.com/search_content/', headers=headers, params=params)    try:        response.raise_for_status()        return response.text    except Exception as exc:        print("獲取失敗")        return Nonedef handle_first_data(html):    data = json.loads(html)    if data and "data" in data.keys():        for item in data.get("data"):            yield item.get("article_url")

這里需要提一下requests模塊的報(bào)錯(cuò),在response對(duì)象上調(diào)用 raise_for_status()方法,如果下載文件出錯(cuò),會(huì)拋出異常,需要使用 try 和 except 語(yǔ)句將代碼行包裹起來(lái),處理這一錯(cuò)誤,不讓程序崩潰。

另外附上requests模塊技術(shù)文檔網(wǎng)址:http://cn.python-requests.org/zh_CN/latest/

獲取圖片鏈接相關(guān)代碼:

def get_second_data(url):    if url:         try:            reponse = requests.get(url, headers=headers)            reponse.raise_for_status()            return reponse.text        except Exception as exc:            print("進(jìn)入鏈接發(fā)生錯(cuò)誤")            return Nonedef handle_second_data(html):    if html:        pattern = re.compile(r'gallery: JSON.parse/((.*?)/),', re.S)        result = re.search(pattern, html)        if result:            imageurl = []            data = json.loads(json.loads(result.group(1)))            if data and "sub_images" in data.keys():                sub_images = data.get("sub_images")                images = [item.get('url') for item in sub_images]                for image in images:                    imageurl.append(images)                return imageurl        else:            print("have no result")

獲取圖片相關(guān)代碼:

def download_image(imageUrl):    for url in imageUrl:        try:            image = requests.get(url).content        except:            pass        with open("images"+str(url[-10:])+".jpg", "wb") as ob:            ob.write(image)            ob.close()            print(url[-10:] + "下載成功!" + url)def main():    html = get_first_data(0)    for url in handle_first_data(html):        html = get_second_data(url)        if html:            result = handle_second_data(html)            if result:                try:                    download_image(result)                except KeyError:                    print("{0}存在問(wèn)題,略過(guò)".format(result))                    continueif __name__ == '__main__':    main()

最后下載成功

查看詳情

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/125564.html

相關(guān)文章

  • Python3網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)---36、分析Ajax爬取今日頭條街拍美圖

    摘要:上一篇文章網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)數(shù)據(jù)爬取下一篇文章網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)動(dòng)態(tài)渲染頁(yè)面抓取本節(jié)我們以今日頭條為例來(lái)嘗試通過(guò)分析請(qǐng)求來(lái)抓取網(wǎng)頁(yè)數(shù)據(jù)的方法,我們這次要抓取的目標(biāo)是今日頭條的街拍美圖,抓取完成之后將每組圖片分文件夾下載到本地保存下來(lái)。 上一篇文章:Python3網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)---35、 Ajax數(shù)據(jù)爬取下一篇文章:Python3網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)---37、動(dòng)態(tài)渲染頁(yè)面抓取:Selenium 本節(jié)我們...

    Leck1e 評(píng)論0 收藏0
  • Python3網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)---35、 Ajax數(shù)據(jù)爬取

    摘要:所以說(shuō),我們所看到的微博頁(yè)面的真實(shí)數(shù)據(jù)并不是最原始的頁(yè)面返回的,而是后來(lái)執(zhí)行后再次向后臺(tái)發(fā)送了請(qǐng)求,拿到數(shù)據(jù)后再進(jìn)一步渲染出來(lái)的。結(jié)果提取仍然是拿微博為例,我們接下來(lái)用來(lái)模擬這些請(qǐng)求,把馬云發(fā)過(guò)的微博爬取下來(lái)。 上一篇文章:Python3網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)---34、數(shù)據(jù)存儲(chǔ):非關(guān)系型數(shù)據(jù)庫(kù)存儲(chǔ):Redis下一篇文章:Python3網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)---36、分析Ajax爬取今日頭條街拍美圖 ...

    Thanatos 評(píng)論0 收藏0
  • Python3網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)---37、動(dòng)態(tài)渲染頁(yè)面抓取:Selenium

    摘要:不過(guò)動(dòng)態(tài)渲染的頁(yè)面不止這一種。再有淘寶這種頁(yè)面,它即使是獲取的數(shù)據(jù),但是其接口含有很多加密參數(shù),我們難以直接找出其規(guī)律,也很難直接分析來(lái)抓取。我們用一個(gè)實(shí)例來(lái)感受一下在這里們依然是先打開(kāi)知乎頁(yè)面,然后獲取提問(wèn)按鈕這個(gè)節(jié)點(diǎn),再將其 上一篇文章:Python3網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)---36、分析Ajax爬取今日頭條街拍美圖下一篇文章:Python3網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)---38、動(dòng)態(tài)渲染頁(yè)面抓取:Spla...

    zhjx922 評(píng)論0 收藏0
  • node網(wǎng)絡(luò)爬蟲(chóng)實(shí)例了解下?

    摘要:今天給大家分享的是爬蟲(chóng),寫(xiě)得不好的大家多關(guān)照,指出背景交代,以下寫(xiě)的都是參照網(wǎng)絡(luò)爬蟲(chóng)開(kāi)發(fā)實(shí)戰(zhàn)用實(shí)現(xiàn)的,所以的具體思路什么的,大家可以去看書(shū)上的介紹,感興趣的,可以去了解一波。 今天給大家分享的是node爬蟲(chóng),寫(xiě)得不好的大家多關(guān)照,指出 背景交代,以下寫(xiě)的demo都是參照《python3網(wǎng)絡(luò)爬蟲(chóng)開(kāi)發(fā)實(shí)戰(zhàn)》用node實(shí)現(xiàn)的,所以demo的具體思路什么的,大家可以去看書(shū)上的介紹,感興趣的,可...

    陸斌 評(píng)論0 收藏0
  • Python爬蟲(chóng)實(shí)戰(zhàn),requests模塊Python實(shí)現(xiàn)抓取微博評(píng)論

    摘要:前言利用實(shí)現(xiàn)抓取微博評(píng)論數(shù)據(jù),廢話(huà)不多說(shuō)。讓我們愉快地開(kāi)始吧開(kāi)發(fā)工具版本相關(guān)模塊模塊模塊模塊模塊模塊以及一些自帶的模塊。環(huán)境搭建安裝并添加到環(huán)境變量,安裝需要的相關(guān)模塊即可。 ...

    jaysun 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<