python3爬蟲快速入門攻略

複製過來的內容

一、什麼是網絡爬蟲?

1、定義:網絡爬蟲(Web Spider),又被稱爲網頁蜘蛛,是一種按照一定的規則,自動地抓取網站信息的程序或者腳本。
2、簡介:網絡蜘蛛是一個很形象的名字。如果把互聯網比喻成一個蜘蛛網,那麼Spider就是在網上爬來爬去的蜘蛛。網絡蜘蛛是通過網頁的鏈接地址來尋找網頁,從 網站某一個頁面開始,讀取網頁的內容,找到在網頁中的其它鏈接地址,然後通過這些鏈接地址尋找下一個網頁,這樣一直循環下去,直到把這個網站所有的網頁都抓取完爲止。
3、爬蟲流程:①先由urllib的request打開Url得到網頁html文檔——②瀏覽器打開網頁源代碼分析元素節點——③通過Beautiful Soup或則正則表達式提取想要的數據——④存儲數據到本地磁盤或數據庫(抓取,分析,存儲)

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:\Python\test\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')

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章