天天看點

BeautifulSoup爬取部落格執行個體BeautifulSoup爬取部落格執行個體

BeautifulSoup爬取部落格執行個體

  • 爬取對象はてなブックマーク部落格(日本網站)
  • 用for循環爬取每個類别部落格的前兩頁部落格
  • 使用python BeautifulSoup庫

第一步: 爬取所有類别的文本以及連結

'''
導入beautifulsoup庫用來解析網頁
導入request庫用來獲得HTML檔案
導入pandas庫用來生成表格
'''

from bs4 import BeautifulSoup
import requests
import pandas as pd
#建立表格
columns=["TAG", "URL"]
df = pd.DataFrame(columns=columns)
#網頁的名頭(比如baidu的網頁前面都是www.baidu.com/啥啥啥)
base_url = "https://b.hatena.ne.jp"
#獲得網頁檔案資訊
home_url = requests.get("https://b.hatena.ne.jp/hotentry/all").content
#給beautifulsoup進行解析
soup = BeautifulSoup(home_url, 'html.parser',from_encoding="utf8") 

li_tag = []
li_url =[]
#尋找class = "navi-link js-navi-link"的div标簽(有許多)
#簡單說一下find_all()和find()的差別, find_all()找到所有輸出清單; find()找到第一個輸出第一個字元串
tree = soup.find_all("div", class_="navi-link js-navi-link")
#對每個div标簽都獲得以下我們需要的資訊    
for branch in tree:
    tag = branch.a.string #獲得标簽裡的文本
    link = branch.find("a")["href"] #獲得标簽裡的連結
    li_tag.append(tag) #加入建立存放部落格類别的清單
    li_url.append(base_url + link) #加入建立部落格類别子連結的另一個清單
#全部塞入Framework做成表格輸出
for i in range(len(li_url)):
    se = pd.Series([li_tag[i],li_url[i]],index=columns)
    df = df.append(se,ignore_index=True)
df
           
TAG URL
総合 https://b.hatena.ne.jp/hotentry/all
1 一般 https://b.hatena.ne.jp/hotentry/general
2 世の中 https://b.hatena.ne.jp/hotentry/social
3 政治と経済 https://b.hatena.ne.jp/hotentry/economics
4 暮らし https://b.hatena.ne.jp/hotentry/life
5 學び https://b.hatena.ne.jp/hotentry/knowledge
6 テクノロジー https://b.hatena.ne.jp/hotentry/it
7 おもしろ https://b.hatena.ne.jp/hotentry/fun
8 エンタメ https://b.hatena.ne.jp/hotentry/entertainment
9 アニメとゲーム https://b.hatena.ne.jp/hotentry/game

第二步: 通過獲得的每個類别部落格的連結進一步爬取每個部落格的資訊

#引入python進度條庫(使程式進度可視)
import tqdm fro tqdm
import time

all_url = []
all_name = []
base = "https://b.hatena.ne.jp"
columns=["Name", "Url", "Tag"]
df2 = pd.DataFrame(columns=columns)
#循環進入每一個類别爬取部落格
for i in tqdm(range(len(li_url)), ncols = 80):
    time.sleep = 0.1
    tag = li_tag[i]
    url = li_url[i]
    html_doc = requests.get(url).content
    soup = BeautifulSoup(html_doc, 'html.parser',from_encoding="utf8")
    #找到下一頁的标簽連結,并進入該類别的下一頁繼續爬取
    more = base + soup.find("p", class_='entrylist-readmore js-keyboard-selectable-item').a.get("href")
    html_doc = requests.get(more).content
    soup_more = BeautifulSoup(html_doc, 'html.parser',from_encoding="utf8")
    #找到class_='entrylist-contents-title'的h3标簽
    for food in [soup, soup_more]:    
        meat = food.find_all("h3", class_='entrylist-contents-title')
        
        for chicken in meat:
            link = chicken.a.get("href") #爬取部落格連結
            name = chicken.get_text() #爬取部落格題目
            
            all_url.append(link)
            all_name.append(name)

            se = pd.Series([name,link,tag],index=columns)
            df2 = df2.append(se, ignore_index=True)      
df2 
           
100%|███████████████████████████████████████████| 10/10 [00:23<00:00,  1.91s/it]
           
Name Url Tag
\nこういう人たちの呼び方ってありますか?\n https://anond.hatelabo.jp/20191115102850 総合
1 \n「桜を見る會」安倍首相「すべての費用は參加者の自己負擔」 | ...\n https://www3.nhk.or.jp/news/html/20191115/k100... 総合
2 \n京アニ事件容疑者「こんなに優しくされたことなかった」 醫療...\n https://headlines.yahoo.co.jp/hl?a=20191115-00... 総合
3 \nWEB特集 400年前の洋剣 謎解きを進めてみれば | NHKニュース\n https://www3.nhk.or.jp/news/html/20191115/k100... 総合
4 \n先輩「25、6歳を過ぎたら體力がかなり落ちる」私(23歳)「えー本...\n https://togetter.com/li/1430657 総合
5 \niPadで描く漫畫家 高河ゆんインタビュー(前編):デジタル移行か...\n https://japanese.engadget.com/2019/11/15/ipad/ 総合
6 \n性的少數者を「珍 女性のような男性」 テレビ山口:朝日新聞...\n https://www.asahi.com/articles/ASMCG5S30MCGTZN... 総合
7 \n低能先生こと松本英光被告の公判を傍聴してきた\n https://anond.hatelabo.jp/20191115162114 総合
8 \n『セグウェイの二の舞にはさせない』電動キックボード日本導入...\n https://japanese.engadget.com/2019/11/14/lime/ 総合
9 \n裏紅白歌合戦2019\n http://jiyujoho.a.la9.jp/urak19.htm 総合
10 \n“シマウマ”模様の牛に蟲寄りつかず 愛知の試験場など研究 | NHK...\n https://www3.nhk.or.jp/news/html/20191115/k100... 総合
11 \n安倍内閣支援率、4ポイント増の48% 時事世論調査:時事ド...\n https://www.jiji.com/jc/article?k=201911150081... 総合
12 \nFEのアンナ、FFのシドみたいな常連キャラって他にいる?\n https://anond.hatelabo.jp/20191115022648 総合
13 \n桜を見る會名簿、共産議員の請求當日に「廃棄」 内閣府 [桜を...\n https://www.asahi.com/articles/ASMCH51V1MCHUTF... 総合
14 \n氷1300tで選手冷やす 五輪暑さ対策、全容明らかに - 東京...\n https://www.asahi.com/articles/ASMCF6JXWMCFUTQ... 総合
15 \n扉付きベビーベッドで赤ちゃん死亡 消費者庁など注意呼びかけ |...\n https://www3.nhk.or.jp/news/html/20191115/k100... 総合
16 \nリアルで言っても問題ないネット用語の一覧を作ってほしい\n https://anond.hatelabo.jp/20191115012031 総合
17 \n前夜祭「會費5000円」で安倍首相反論 官邸幹部も「唐揚げ増や...\n https://mainichi.jp/articles/20191115/k00/00m/... 総合
18 \n剛力彩芽さんの別れの言葉が「私は月には行けない」でかっこよ...\n https://togetter.com/li/1430530 総合
19 \n招待客1萬人の口を封じることはムリ:日経ビジネス電子版\n https://business.nikkei.com/atcl/seminar/19/00... 総合
20 \nラーメン店多い県、脳卒中死亡率高め 塩を買う量も…:朝日新聞...\n https://www.asahi.com/articles/ASMCF5TGRMCFULZ... 総合
21 \n「桜を見る會」招待者名簿、民主政権時代は公開前提 TBS NEWS\n https://news.tbs.co.jp/newseye/tbs_newseye3830... 総合
22 \n情報量の多い風景【東京VS大阪】 :: デイリーポータルZ\n https://dailyportalz.jp/kiji/kanban-mecha-ooi 総合
23 \n若手に頼みごとをしたら「これは仕事ですか?」と言い返されま...\n http://delete-all.hatenablog.com/entry/2019/11... 総合
24 \n「陰キャ女子ばっかのギャルゲがやりたい」→実際にイラスト化し...\n https://togetter.com/li/1430559 総合
25 \n交渉次第で5000円も可能 安倍首相後援會の夕食會費―菅官房...\n https://www.jiji.com/jc/article?k=201911150061... 総合
26 \n言われた通りにやってみるって、実は難易度高いのかな\n https://anond.hatelabo.jp/20191115012246 総合
27 \nBuild your own React\n https://pomb.us/build-your-own-react/ 総合
28 \n「桜を見る會」安倍首相「國會から求められれば説明する」 | NH...\n https://www3.nhk.or.jp/news/html/20191115/k100... 総合
29 \n乳幼児スナイパー期せずして同業者と連攜する-前編\n https://anond.hatelabo.jp/20191115002701 総合
... ... ... ...
841 \n【畫像】飯塚幸三と鬼滅の刃とのコラボ漫畫がツイッターで大バ...\n http://alfalfalfa.com/articles/269352.html アニメとゲーム
842 \n【激怒】デス・ストランディングをゲームサイト管理人が酷評「...\n https://getnews.jp/archives/2273953 アニメとゲーム
843 \nポケットモンスター ソード・シールドで登場する全ポケモンのリ...\n https://gigazine.net/news/20191105-pokemon-swo... アニメとゲーム
844 \nゼルダライクな2Dアクション『Sparklite』Switch/PS4/Steam向け.... https://automaton-media.com/articles/newsjp/20... アニメとゲーム
845 \nブログに貼り付けられるコマ投稿一覧 - アル\n https://alu.jp/cropSearch アニメとゲーム
846 \nポケットモンスター ソード・シールドで「3Dモデルの使い回し」...\n https://gigazine.net/news/20191114-hashtag-gam... アニメとゲーム
847 \n「聖剣伝説 3 TRIALS of MANA」,仲間たちが主人公と出會う前の...\n https://www.4gamer.net/games/463/G046302/20191... アニメとゲーム
848 \n『ONEPIECE』完結まで「あと5年」カウントダウンはじまる 編集...\n https://www.oricon.co.jp/news/2148735/full/ アニメとゲーム
849 \nMasayuki Kusakabe on Twitter: "時系列で並べたら4コマ漫畫... https://twitter.com/unclepaul_jp/status/119481... アニメとゲーム
850 \nユニコーンガンダムの段ボール工作が信じがたいハイクオリティ...\n https://nlab.itmedia.co.jp/nl/articles/1911/13... アニメとゲーム
851 \nイラスト化された「世界の神話と民話に登場する犬たち」が可愛...\n https://togetter.com/li/1429675 アニメとゲーム
852 \nLiSA:「SAO」「鬼滅の刃」歌手が紅白初出場 - MANTANWEB(まん...\n https://mantan-web.jp/article/20191114dog00m20... アニメとゲーム
853 \n【漫畫】ツキイチ!生理ちゃん 20 | オモコロ\n https://omocoro.jp/kiji/205890/ アニメとゲーム
854 \n突如海底から現れて、何もしない巨大な少女 不思議な漫畫「メ...\n https://nlab.itmedia.co.jp/nl/articles/1911/13... アニメとゲーム
855 \n想像したのと違う……いまだかつてない飛行機シミュレーターが海...\n https://internet.watch.impress.co.jp/docs/yaji... アニメとゲーム
856 \n【やじうまPC Watch】登場から約30年。バグハンターがスト2の新...\n https://pc.watch.impress.co.jp/docs/news/yajiu... アニメとゲーム
857 \n「24時間書き続けて、それでも仕事は終わらない」 アニメ制作...\n https://nlab.itmedia.co.jp/nl/articles/1911/13... アニメとゲーム
858 \n昔、「男オタクは女性聲優に戀人がいただけで罵聲を浴びせる最...\n https://anond.hatelabo.jp/20191113002413 アニメとゲーム
859 \nホームトレーニーのリングフィットアドベンチャーレビュー #4 ...\n https://note.mu/suitexsuite/n/n83156118f306 アニメとゲーム
860 \n人生に疲れている人のために「ドラえもん」の名言を紹介する【...\n https://www.mizugame-full.com/entry/2019/11/13... アニメとゲーム
861 \n『肩にでっかいマドレーヌ載せてんのかい!』三角筋がすごいコ...\n https://togetter.com/li/1429898 アニメとゲーム
862 \n留守番中の子どもに母親のふりをした化け物が迫る…… ホラーな...\n https://nlab.itmedia.co.jp/nl/articles/1911/12... アニメとゲーム
863 \n『デススト』効果?「モンスターエナジー」メーカーの株価が発...\n https://www.gamespark.jp/article/2019/11/12/94... アニメとゲーム
864 \nhttps://game.watch.impress.co.jp/docs/news/1... https://game.watch.impress.co.jp/docs/news/121... アニメとゲーム
865 \nDoc2Vecを使って小説家になろうで自分好みの小説を見つけたい話...\n https://blog.aidemy.net/entry/2018/10/16/125954 アニメとゲーム
866 \nWebアニメ「しおひガールズ」本日配信開始、花澤香菜らは獨特の...\n https://natalie.mu/comic/news/355307 アニメとゲーム
867 \nこの議論こそポリティカル・コレクトネスに関するもの。私はPC...\n https://b.hatena.ne.jp/entry/46771448246579272... アニメとゲーム
868 \n「お寶発見!幻のラノベレーベル コイン20%還元キャンペーン」...\n https://bookwalker.jp/select/203/ アニメとゲーム
869 \n【海外の反応】 パンドラの憂鬱 海外「日本は韓國と距離を置こ...\n http://kaigainohannoublog.blog55.fc2.com/blog-... アニメとゲーム
870 \n東京ガンダム | コピペの湯\n http://copipenoyu.elffy.net/?eid=7319 アニメとゲーム

871 rows × 3 columns