如何爬取CSDN部落格中分欄的所有文章的標題 鏈結

2022-08-20 01:57:09 字數 1699 閱讀 4745

import re

import requests

from

bs4 import beautifulsoup

headers =

# 網頁鏈結

link = '

'# 獲取網頁

r = requests.get(link, headers=headers, timeout=10

)# 使用soup進行過濾

soup = beautifulsoup(r.text, "

lxml")

div_list = soup.find_all('li'

)articles =

for each in

div_list:

article ={}

href = str(each.find('

a').get('

href

')).strip()

title = each.find('

h2',class_ = "

title")

title =str(title)

# 這裡的title還需要進一步的處理,因為csdn在這個h2標題下面還有兩個注釋:

這裡用正則把注釋去掉

re_comment = re.compile('')

title = re_comment.sub(""

,title)

# 去掉注釋之後我們在用正則來提取之間的內容

# 這裡由於

# 這樣最終的標題和鏈結就提取出來了

title_re = re.findall(r'

(.*?)\n

',title)

# 發現這時標題後面還跟著一堆空格,我們把空格去除一下

# 先把列表轉換為字串,然後使用字串的strip()函式即可去除頭尾的空格

mid = ""

.join(title_re)

title_f =mid.strip()

article[

'href

'] =href

article[

'title

'] =title_f

# 儲存檔案的位址

mylog = open('

/users/qiguan/article.txt

',mode='

a',encoding='

utf-8')

for article in

articles:

# 這裡我們在控制台也輸出一遍

print("[

", article['

title

'], "

]", "

(", article['

href

'], "

)",sep='', end='\n'

) # 儲存到文字中

print("[

",article['

title

'],"

]","

(",article['

href

'],"

)",sep='',end='

\n',file = mylog)

這裡是將資料列印到了控制台並且儲存到了我們的檔案中,這裡只寫了分專欄的進行爬取,但是用來寫部落格導航的完全夠用啦

WebCollector爬取CSDN部落格

新聞 部落格爬取是資料採集中常見的需求,也是最容易實現的需求。一些開發者利用httpclient和jsoup等工具也可以實現這個需求,但大多數實現的是乙個單執行緒爬蟲,並且在url去重和斷點爬取這些功能上控制地不好,爬蟲框架可以很好地解決這些問題,開源爬蟲框架往往都自帶穩定的執行緒池 url去重機制...

Python 爬取CSDN部落格文章

新建乙個module,用於根據使用者名稱來獲取文章的url coding utf 8 from bs4 import beautifulsoup import requests 獲取部落格文章數量 def get page size user name article list url user n...

爬蟲入門(一)爬自己的CSDN部落格

今天本來在搞人體識別模型的,emmm後來想搞一直想試的爬蟲,於是我就來了!我是用的軟體是pycharm,這個軟體是jetbrains開發的,我最近使用的連線資料庫的軟體datagrip也是jetbrains公司了,只不過我認為datagrip對新使用者不太友好,很多功能都隱藏起來了,還要你自己去發現...