python爬虫模式_python爬虫的入门试炼
網絡爬蟲初解:
如果我們把互聯網比作一張大的蜘蛛網,數據便是存放于蜘蛛網的各個節點,而爬蟲就是一只小蜘蛛,沿著網絡抓取自己的獵物(數據)爬蟲指的是:向網站發起請求,獲取資源后分析并提取有用數據的程序;從技術層面來說就是 通過程序模擬瀏覽器請求站點的行為,把站點返回的HTML代碼/JSON數據/二進制數據(圖片、視頻) 爬到本地,進而提取自己需要的數據,存放起來使用。
image
爬取某網站的基本信息 :
先以貓眼網站(http://maoyan.com/board/4)為例:
想從網站獲取的信息有:
電影名稱,演員作者,發布時間,評分
電影名稱:name
演員作者:star
發布時間:release_time
評分:scores
最關鍵的步驟如下:在網站中分別選中電影名稱;作者;發布時間;評分右鍵選擇檢查,會出現所示代碼然后復制下來,將該網頁源代碼打開,搜索相同字段,然后選擇出你需要的部分,通過pycharm代碼將你選擇的電影名稱;作者;發布時間;評分等爬取下來。
詳細的整體代碼如下:
import requests
import re
import time
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36'
}
def get_info(url):
res = requests.get(url,headers=headers)
names = re.findall('
stars = re.findall('
(.*?)
',res.text,re.S)release_times = re.findall('
上映時間:(.*?)
',res.text)scores = re.findall('
(.*?)(.*?)
',res.text)for name,star,release_time,score in zip(names,stars,release_times,scores):
print(name,star.strip(),release_time,score[0]+score[1])
if __name__ == '__main__':
urls = ['http://maoyan.com/board/4?offset={}'.format(str(i)) for i in range(0, 100, 10)]
for url in urls:
get_info(url)
time.sleep(0)
爬取后的信息很多,有一點亂,這就需要整理一下信息。
運用pycharm與Excel相結合,通過pycharm建立Excel文件。
例如:建立一個姓名,性別的Excel的文件。
import csv
fp = open('C:/Users/lenovo/Desktop/text.csv','w',encoding='utf-8',newline='')
writer = csv.writer(fp)
writer .writerow(['name','sex'])
writer .writerow(['***','男'])
整理信息
運用上面的例子,然后將爬取信息的信息整理到Excel文件夾中:
詳細代碼如下:
import requests
import re
import csv
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36'
}
def get_info(url):
res = requests.get(url,headers=headers)
names = re.findall('
stars = re.findall('
(.*?)
',res.text,re.S)release_times = re.findall('
上映時間:(.*?)
',res.text)scores = re.findall('
(.*?)(.*?)
',res.text)for name,star,release_time,score in zip(names,stars,release_times,scores):
print(name,star.strip(),release_time,score[0]+score[1])
writer.writerow([name, star.strip(), release_time, score[0] + score[1]])
if __name__ == '__main__':
fp = open('C:/Users/lenovo/Desktop/新建文件夾 (2)/python代碼/text.csv', 'w', encoding='utf-8', newline='')
writer = csv.writer(fp)
writer.writerow(['name','star','release_times','scores'])
urls = ['http://maoyan.com/board/4?offset={}'.format(str(i)) for i in range(0, 100, 10)]
for url in urls:
get_info(url)
如此一來就將貓眼視頻上的信息爬取了下來,然后我們還可以通過Excel進行各種對比;選擇,挑選出最好的,等等一系列人們所需要的數據。
這就是最簡單的python知識。后面我們將慢慢對python進行解讀,以下僅供趣讀:
Python 是一個高層次的結合了解釋性、編譯性、互動性和面向對象的腳本語言。
Python 的設計具有很強的可讀性,相比其他語言經常使用英文關鍵字,其他語言的一些標點符號,它具有比其他語言更有特色語法結構。
Python 特點
易于學習:Python有相對較少的關鍵字,結構簡單,和一個明確定義的語法,學習起來更加簡單。
易于閱讀:Python代碼定義的更清晰。
易于維護:Python的成功在于它的源代碼是相當容易維護的。
一個廣泛的標準庫:Python的最大的優勢之一是豐富的庫,跨平臺的,在UNIX,Windows和Macintosh兼容很好。
互動模式:互動模式的支持,您可以從終端輸入執行代碼并獲得結果的語言,互動的測試和調試代碼片斷。
可移植:基于其開放源代碼的特性,Python已經被移植(也就是使其工作)到許多平臺。
可擴展:如果你需要一段運行很快的關鍵代碼,或者是想要編寫一些不愿開放的算法,你可以使用C或C++完成那部分程序,然后從你的Python程序中調用。
數據庫:Python提供所有主要的商業數據庫的接口。
GUI編程:Python支持GUI可以創建和移植到許多系統調用。
可嵌入: 你可以將Python嵌入到C/C++程序,讓你的程序的用戶獲得"腳本化"的能力。
大家一定要認真對待,不能像 小C(作者)一樣,相信你們一定學的更好。
總結
以上是生活随笔為你收集整理的python爬虫模式_python爬虫的入门试炼的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我喜欢北京的柿子树
- 下一篇: 快速拔h型钢拔桩机 H型钢建筑拔桩机应用