import reimport 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對新使用者不太友好,很多功能都隱藏起來了,還要你自己去發現...