Python3爬取簡書首頁文章的標題和文章連結
阿新 • • 發佈:2018-12-22
from urllib import request
from bs4 import BeautifulSoup #Beautiful Soup是一個可以從HTML或XML檔案中提取結構化資料的Python庫
#構造標頭檔案,模擬瀏覽器訪問
url="http://www.jianshu.com"
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36' }
page = request.Request(url,headers=headers)
page_info = request.urlopen(page).read().decode('utf-8')#開啟Url,獲取HttpResponse返回物件並讀取其ResposneBody
# 將獲取到的內容轉換成BeautifulSoup格式,並將html.parser作為解析器
soup = BeautifulSoup(page_info, 'html.parser')
# 以格式化的形式列印html
#print(soup.prettify())
titles = soup.find_all('a' , 'title')# 查詢所有a標籤中class='title'的語句
'''''
# 列印查詢到的每一個a標籤的string和文章連結
for title in titles:
print(title.string)
print("http://www.jianshu.com" + title.get('href'))
'''
#open()是讀寫檔案的函式,with語句會自動close()已開啟檔案
with open(r"D:\articles.txt","w") as file: #在磁碟以只寫的方式開啟/建立一個名為 articles 的txt檔案
for title in titles:
file.write(title.string+'\n')
file.write("http://www.jianshu.com" + title.get('href')+'\n\n')
執行結果如下: