提到爬蟲,互聯網的朋友應該都不陌生,如今使用Python爬取網站數據是很是常見的手段,好多朋友都是爬取豆瓣信息爲案例,我不想重複,就使用了爬取51cto博客網站信息爲案例,這裏以個人博客頁面爲教程,編寫的Python代碼!php
1.安裝Python 3.7
2.安裝requests, bs4模塊html
可參考博客https://blog.51cto.com/13760351/2371973前端
打開cmd,輸入:pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple/
再安裝bs4, 輸入:pip install bs4 -i https://pypi.tuna.tsinghua.edu.cn/simple/ node
安裝後面加上-i https://pypi.tuna.tsinghua.edu.cn/simple/ 表示從清華鏡像下載模塊,速度會提升好多!
python
# 爬取51cto博客頁面 import requests import bs4 import re def open_url(url): # 使用代理 # proxies = {"http": "127.0.0.1:1080", "https": "127.0.0.1:1080"} headers = { 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) ' 'Chrome/57.0.2987.98 Safari/537.36'} # res = requests.get(url, headers=headers, proxies=proxies) res = requests.get(url, headers=headers) return res def find_titles(res): soup = bs4.BeautifulSoup(res.text, 'html.parser') # 博客名 titles = [] targets = soup.find_all("a", class_="tit") for each in targets: titles.append(each.text.strip()) # 閱讀量 reads = [] read1 = soup.find_all("p", class_="read fl on") read2 = soup.find_all("p", class_="read fl") for each in read1: reads.append(each.text) for each in read2: reads.append(each.text) # 評論數 comment = [] targets = soup.find_all("p", class_='comment fl') for each in targets: comment.append(each.text) # 收藏 collects = [] targets = soup.find_all("p", class_='collect fl') for each in targets: collects.append(each.text) # 彙總 result = [] length = len(titles) for i in range(length): result.append(titles[i] + '\n' + reads[i] + ' ' + comment[i] + ' ' + collects[i] + '\n') return result # 找出一共有多少個頁面 def find_depth(res): soup = bs4.BeautifulSoup(res.text, 'html.parser') depth = soup.find('li', class_='next').previous_sibling.previous_sibling.text return int(depth) def main(): host = "https://blog.51cto.com/13760351" res = open_url(host) depth = find_depth(res) result = [] for i in range(1, depth + 1): #範圍是1到6頁 url = host + '/p' + str(i) #網頁連接是後面加上/pi res = open_url(url) result.extend(find_titles(res)) # 寫入文本文件中 with open("51cto博客.txt", "w", encoding="utf-8") as f: for each in result: f.write(each) #主程序入口 if __name__ == "__main__": main()
阿里雲服務器安裝postfix--郵箱服務(排坑過程詳解) 薦 置頂
閱讀 10000+ 評論 2 收藏 9
(教科書式教程!)在VMware Workstation 14 上安裝CentOS 7 【送安裝包】 置頂
閱讀 10000+ 評論 10 收藏 0
CentOS 7 系統YUM 安裝MySQL 5.7
閱讀 136 評論 0 收藏 1
Docker 安裝(官方安裝方法)
閱讀 153 評論 0 收藏 0
運維實用工具推薦
閱讀 159 評論 0 收藏 0
K8S 部署 Rancher 2.X 版本
閱讀 1068 評論 0 收藏 0
python 練習題(三)
閱讀 260 評論 0 收藏 0
DNS--域名解析
閱讀 170 評論 0 收藏 0
python 練習題(二)
閱讀 353 評論 0 收藏 0
K8S 使用Dashboard部署nginx羣集
閱讀 124 評論 0 收藏 0
CentOS 7 離線部署K8S羣集
閱讀 280 評論 0 收藏 0
MySQL函數--數學函數
閱讀 136 評論 0 收藏 0
CentOS 7 安裝SVN
閱讀 192 評論 2 收藏 0
MYSQL 數據庫索引
閱讀 178 評論 0 收藏 0
CentOS 8 深刻優化 nginx 服務
閱讀 509 評論 0 收藏 0
CentOS 7 搭建nginx網頁服務
閱讀 207 評論 0 收藏 0
Linux 文本處理利器--Awk經常使用命令
閱讀 940 評論 0 收藏 0
Liunx 文件的查找
閱讀 163 評論 0 收藏 0
Linux 流編輯--Sed命令及語法
閱讀 178 評論 0 收藏 0
MYSQL行爲
閱讀 110 評論 0 收藏 0
MYSQL數據庫--鏈接查詢
閱讀 269 評論 0 收藏 0
MYSQL 數據庫基本操做
閱讀 271 評論 0 收藏 0
Ansible 經常使用模塊
閱讀 119 評論 0 收藏 0
CentOS 8部署自動化運維工具-- Ansible
閱讀 358 評論 0 收藏 0
CentOS 7 部署百萬pv項目(高可用架構)
閱讀 2139 評論 0 收藏 4
MYSQL查詢--子查詢,合併查詢
閱讀 242 評論 0 收藏 0
MySQL僞事務和性能
閱讀 178 評論 0 收藏 0
MYSQL數據庫--定義表和字段的別名
閱讀 256 評論 0 收藏 0
MYSQL查詢--聚合函數查詢
閱讀 132 評論 0 收藏 0
MYSQL 查詢命令--單表查詢
閱讀 205 評論 0 收藏 0
ELK 平臺收集Tomcat日誌記錄
閱讀 316 評論 0 收藏 0
CentOS 8 部署ELK日誌分析平臺
閱讀 730 評論 0 收藏 0
Docker 數據管理和網絡通訊
閱讀 246 評論 0 收藏 0
Docker 鏡像建立方法
閱讀 143 評論 0 收藏 0
Docker 容器操做
閱讀 195 評論 0 收藏 0
Docker 鏡像操做
閱讀 143 評論 0 收藏 0
CentOS 8 系統圖形化安裝教程(超詳細)
閱讀 4570 評論 0 收藏 0
Docker 部署 nginx + tomcat
閱讀 501 評論 0 收藏 0
Docker 部署war包項目
閱讀 2173 評論 0 收藏 1
華爲雲服務器安裝 Docker 容器
閱讀 901 評論 0 收藏 0
CentOS 8 安裝docker 容器
閱讀 4848 評論 0 收藏 0
解決 confluence 和 jira 數據包問題
閱讀 225 評論 0 收藏 0
CentOS 7.6 搭建Gitlab教程
閱讀 234 評論 0 收藏 0
confluence 配置郵件服務器
閱讀 516 評論 0 收藏 0
Shell腳本實現 tomcat 日誌定時切割
閱讀 263 評論 0 收藏 0
阿里雲服務器Centos7 配置465端口號發送郵件
閱讀 774 評論 0 收藏 0
MQTT 限制匿名用戶訪問,開啓用戶密碼認證
閱讀 640 評論 0 收藏 0
CentOS 7.6 部署Redis 數據庫
閱讀 150 評論 0 收藏 0
CentOS 7.6 破解安裝 Confluence 和 Jira(送安裝包和破解工具)
閱讀 5800 評論 0 收藏 0
Centos 7 安裝MQTT(EMQ)服務端
閱讀 943 評論 0 收藏 0
CentOS 7 實現yum安裝最新php版本
閱讀 2527 評論 0 收藏 0
Python3 對文件操做
閱讀 886 評論 0 收藏 0
Python3 操做Mysql數據庫
閱讀 820 評論 0 收藏 1
Selenium 定位元素的8種方法介紹
閱讀 1536 評論 0 收藏 0
Python Selenium 自動配置zabbix郵箱報警功能
閱讀 568 評論 0 收藏 0
Zabbix 配置QQ郵箱報警通知
閱讀 2043 評論 0 收藏 0
CentOS 7 系統搭建私服倉庫Nexus
閱讀 664 評論 0 收藏 1
解決CentOS 7 最小化安裝後無ifconfig命令
閱讀 687 評論 0 收藏 0
CentOS 7 安裝禪道並綁定公司內網郵箱
閱讀 1161 評論 0 收藏 0
Shell 腳本自動安裝公司內部郵箱服務器--Postfix
閱讀 7066 評論 0 收藏 4
解決虛擬機在橋接模式下設置靜態ip,沒法上外網的各類問題
閱讀 10000+ 評論 6 收藏 0
Shell 腳本自動安裝cobbler(改進+填坑)
閱讀 10000+ 評論 3 收藏 0
Shell 腳本自動安裝 Cobbler (知識點+踩坑點)
閱讀 5292 評論 0 收藏 6
CentOS 7.4 系統升級至7.6
閱讀 4738 評論 4 收藏 0
超實用技能--快速查看windows WiFi密碼
閱讀 4518 評論 0 收藏 0
Jenkins自動化部署安卓項目
閱讀 7574 評論 0 收藏 1
記一次阿里雲服務器安裝Python的血淚史
閱讀 1671 評論 6 收藏 1
Jenkins自動化部署nodejs項目(前端項目)
閱讀 1445 評論 0 收藏 2
Jenkins自動部署發佈Java代碼(完整教程)
閱讀 9192 評論 0 收藏 1
Jenkins自動化打包--war包
閱讀 9444 評論 2 收藏 3
shell 搭配 python 自動安裝zabbix監控端詳解
閱讀 1112 評論 0 收藏 1
在CentOS 7系統下升級 Jenkins版本(含排坑過程)
閱讀 7223 評論 4 收藏 0
Window 10 安裝python 3.7 + selenium (附最新安裝包)
閱讀 2984 評論 0 收藏 0
CentOS 7 輕鬆安裝Jenkins
閱讀 3259 評論 0 收藏 1
腳本安裝Discuz論壇(shell + Python 實現自動化安裝)
閱讀 1783 評論 0 收藏 0
Shell腳本自動源碼包安裝LA/NMP架構詳解(贈軟件包+腳本)
閱讀 3068 評論 0 收藏 0
shell腳本一鍵安裝Tomcat服務
閱讀 2192 評論 0 讚揚 1
【值得收藏!】Vi 文本編輯器細講
閱讀 789 評論 4 收藏 1
企業應用---部署LAMP平臺 + Discuz論壇【贈安裝包】
閱讀 2032 評論 0 收藏 2
【高效裝機】PXE實現無人值守安裝CentOS 6
閱讀 4144 評論 0 收藏 1
在CentOS 7 上安裝Oracle 12c 【贈安裝包】
閱讀 4776 評論 0 收藏 1
輕鬆部署MFS分佈式文件系統 【內附源碼包】
閱讀 3049 評論 0 收藏 1
Memcached + LAMP 架構安裝詳解【送源碼包】
閱讀 3523 評論 4 收藏 0
部署MySQL-MMM 高可用羣集
閱讀 1123 評論 0 收藏 0
搭建 MySQL 讀寫分離(內附源碼包)
閱讀 573 評論 2 收藏 1
Mysql數據庫主從複製
閱讀 716 評論 0 收藏 0
mysql數據庫基本命令---多條數據的同時操做
閱讀 999 評論 0 收藏 0
使用Haproxy 搭建web羣集
閱讀 496 評論 2 收藏 0
MySQL數據庫源碼包安裝(5.7最新版本)
閱讀 568 評論 0 收藏 0
解決PXE裝機報警----重複安裝系統,沒法進入用戶登陸界面
閱讀 1521 評論 0 收藏 0
解決PXE裝系統報警問題----寫入空間不足
閱讀 705 評論 0 收藏 0
Nginx 服務語法正確,服務啓動失敗解決方法
閱讀 767 評論 0 收藏 0
CentOS 7 實現Nginx+Tomcat 負載均衡
閱讀 685 評論 0 收藏 0
Nginx 構建虛擬主機
閱讀 618 評論 0 收藏 0
Nginx 服務安全優化---隱藏版本號、網頁緩存、日誌分割
閱讀 599 評論 0 收藏 0
輕鬆部署Tomcat服務器
閱讀 346 評論 0 收藏 0
Apache網頁安全優化----設置防盜鏈和隱藏版本信息
閱讀 748 評論 0 收藏 0
手工編譯安裝Apache網站(贈送源碼包)
閱讀 638 評論 0 收藏 1
Apache構建虛擬web主機
閱讀 747 評論 0 收藏 0
CentOS 6 yum 安裝Apache網站
閱讀 2072 評論 0 收藏 0
搭建AWStats日誌分析系統(內附awstats軟件包)
閱讀 10000+ 評論 0 收藏 0
圖文詳解cobbler 自動裝機教程 (內附epel源)
閱讀 10000+ 評論 8 收藏 2
DNS分離解析教學 超簡單!
閱讀 679 評論 0 收藏 0
FTP服務最安全認證模式---虛擬帳戶訪問
閱讀 4440 評論 0 收藏 0
FTP服務器--實現本地用戶訪問,拒絕匿名用戶
閱讀 749 評論 0 收藏 0
快速搭建FTP服務器--實現匿名用戶上傳和下載
閱讀 1296 評論 2 收藏 0
Linux 6.5 服務器上搭建本地yum倉庫
閱讀 2206 評論 0 收藏 0
【超好用】弱口令掃描工具John the Ripper 圖文教程(附軟件包)
閱讀 2669 評論 4 收藏 1
詳述在Linux上掛載window共享文件夾
閱讀 634 評論 12 收藏 0
Redhat Linux 6.5 圖文詳細安裝教程【附安裝包】
閱讀 7550 評論 8 收藏 2mysql
1.關於爬蟲,網上的案例特別多,咱們能夠學習方法,但必定要本身使用其餘網站練習,才能學到知識
2.我寫的也只是通常方法,可能代碼還不夠精簡,後期可能會再次修改完善,提升效率!
3.我的以爲,學習python爬蟲知識很是實用,時間花的值得!nginx