人生は短いですが、私はPythonのクロール女神ポスタージョイ・ウォンのクレソンを使用します

免責事項:この記事はブロガーオリジナル記事です、続くBY-SAのCC 4.0を著作権契約、複製、元のソースのリンクと、この文を添付してください。
このリンク: https://blog.csdn.net/meiguanxi7878/article/details/102711943

ページ分析

クレソンの映画の中で「ジョーイ」を検索した後、ジョイ・ウォンは、すべての映画制作者の絵をクリックして、映画製作者は、絵のページを入力して、ホーム・ページに入りました。
次のようにこのページでは、[次へ]をクリックし、ブラウザのURLの変更を見ることができます:

https://movie.douban.com/celebrity/1166896/photos/?type=C&start=30&sortby=like&size=a&subtype=a

ポストマンは、あなたが簡単に学ぶことができ、URLを解析するために使用し続けページは、制御パラメータのページ数に似て起動して、以下のステップで30、すなわち、最初のページは、2ページ目は= 30、第三を開始= 0を開始していますページは、その上の開始= 60、と。

詳細ページ解析

ページ上の画像情報を表示するためにネットワークを使用します。

ここでは、2つのメッセージを取得します:

  • リンクは、各画像レビュー情報のタグを取得することができます。
  • リンクimgタグは、ポスターの女神を保存するために使用することができます。

情報URLの両方について、あなたはそれぞれ返すことができます。

在学习过程中有什么不懂得可以加我的
python学习交流扣扣qun,784758214
群里有不错的学习视频教程、开发工具与电子书籍。
与你分享python企业当下人才需求及怎么从零基础学习好python,和学习什么内容

def get_posters():
    comment_url_list = []
    picture_list = []
    for i in range(0, 40000, 30):
        url = 'https://movie.douban.com/celebrity/1166896/photos/?type=C&start=%s&sortby=like&size=a&subtype=a' % str(i)
        req = requests.get(url).text
        content = BeautifulSoup(req, "html.parser")
        chekc_point = content.find('span', attrs={'class': 'next'}).find('a')
        if chekc_point != None:
            data = content.find_all('div', attrs={'class': 'cover'})
            for k in data:
                ulist = k.find('a')['href']
                plist = k.find('img')['src']
                comment_url_list.append(ulist)
                picture_list.append(plist)
        else:
            break
    return comment_url_list, picture_list

その後、あなたはポスターをダウンロードすることができます。

コメントを取得します

その後、我々は手動で毎週のポスターの詳細ページにジャンプし、情報は、コメントを表示し続けています。ここに画像を挿入説明

コメントは簡単にBeautifulSoupを介して情報を取得し、その後にMongoDBに保存することができます。

def get_comment(comment_l):
    client = pymongo.MongoClient('mongodb://douban:[email protected]:49744/douban')
    db = client.douban
    mongo_collection = db.comment
    comment_list = []
    comment = []
    print("Save to MongoDB")
    for i in comment_l:
        response = requests.get(i).text
        content = BeautifulSoup(response, "html.parser")
        tmp_list = content.find_all('div', attrs={'class': 'comment-item'})
        comment_list = comment_list + tmp_list
        for k in comment_list:
            tmp_comment = k.find('p').text
            mongo_collection.insert_one({'comment': tmp_comment})
            comment.append(tmp_comment)
    print("Save Finish!")

おすすめ

転載: blog.csdn.net/meiguanxi7878/article/details/102711943