基于Python爬取51cto博客頁(yè)面信息過(guò)程解析
介紹
提到爬蟲(chóng),互聯(lián)網(wǎng)的朋友應(yīng)該都不陌生,現(xiàn)在使用Python爬取網(wǎng)站數(shù)據(jù)是非常常見(jiàn)的手段,好多朋友都是爬取豆瓣信息為案例,我不想重復(fù),就使用了爬取51cto博客網(wǎng)站信息為案例,這里以我的博客頁(yè)面為教程,編寫(xiě)的Python代碼!
實(shí)驗(yàn)環(huán)境
1.安裝Python 3.7
2.安裝requests, bs4模塊
實(shí)驗(yàn)步驟
1.安裝Python3.7環(huán)境
2.安裝requests,bs4 模塊
打開(kāi)cmd,輸入:pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple/
再安裝bs4, 輸入:pip install bs4 -i https://pypi.tuna.tsinghua.edu.cn/simple/
安裝后面加上-i https://pypi.tuna.tsinghua.edu.cn/simple/ 表示從清華鏡像下載模塊,速度會(huì)提高好多!
3.編寫(xiě)代碼
# 爬取51cto博客頁(yè)面 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) # 評(píng)論數(shù) 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 # 找出一共有多少個(gè)頁(yè)面 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頁(yè) url = host + '/p' + str(i) #網(wǎng)頁(yè)鏈接是后面加上/pi res = open_url(url) result.extend(find_titles(res)) # 寫(xiě)入文本文件中 with open("51cto博客.txt", "w", encoding="utf-8") as f: for each in result: f.write(each) #主程序入口 if __name__ == "__main__": main()
4.運(yùn)行代碼,查看效果
阿里云服務(wù)器安裝postfix--郵箱服務(wù)(排坑過(guò)程詳解) 薦 置頂 閱讀 10000+ 評(píng)論 2 收藏 9 (教科書(shū)式教程?。┰赩Mware Workstation 14 上安裝CentOS 7 【送安裝包】 置頂 閱讀 10000+ 評(píng)論 10 收藏 0 CentOS 7 系統(tǒng)YUM 安裝MySQL 5.7 閱讀 136 評(píng)論 0 收藏 1 Docker 安裝(官方安裝方法) 閱讀 153 評(píng)論 0 收藏 0 運(yùn)維實(shí)用工具推薦 閱讀 159 評(píng)論 0 收藏 0 K8S 部署 Rancher 2.X 版本 閱讀 1068 評(píng)論 0 收藏 0 python 練習(xí)題(三) 閱讀 260 評(píng)論 0 收藏 0 DNS--域名解析 閱讀 170 評(píng)論 0 收藏 0 python 練習(xí)題(二) 閱讀 353 評(píng)論 0 收藏 0 K8S 使用Dashboard部署nginx群集 閱讀 124 評(píng)論 0 收藏 0 CentOS 7 離線(xiàn)部署K8S群集 閱讀 280 評(píng)論 0 收藏 0 MySQL函數(shù)--數(shù)學(xué)函數(shù) 閱讀 136 評(píng)論 0 收藏 0 CentOS 7 安裝SVN 閱讀 192 評(píng)論 2 收藏 0 MYSQL 數(shù)據(jù)庫(kù)索引 閱讀 178 評(píng)論 0 收藏 0 CentOS 8 深入優(yōu)化 nginx 服務(wù) 閱讀 509 評(píng)論 0 收藏 0 CentOS 7 搭建nginx網(wǎng)頁(yè)服務(wù) 閱讀 207 評(píng)論 0 收藏 0 Linux 文本處理利器--Awk常用命令 閱讀 940 評(píng)論 0 收藏 0 Liunx 文件的查找 閱讀 163 評(píng)論 0 收藏 0 Linux 流編輯--Sed命令及語(yǔ)法 閱讀 178 評(píng)論 0 收藏 0 MYSQL行為 閱讀 110 評(píng)論 0 收藏 0 MYSQL數(shù)據(jù)庫(kù)--連接查詢(xún) 閱讀 269 評(píng)論 0 收藏 0 MYSQL 數(shù)據(jù)庫(kù)基本操作 閱讀 271 評(píng)論 0 收藏 0 Ansible 常用模塊 閱讀 119 評(píng)論 0 收藏 0 CentOS 8部署自動(dòng)化運(yùn)維工具-- Ansible 閱讀 358 評(píng)論 0 收藏 0 CentOS 7 部署百萬(wàn)pv項(xiàng)目(高可用架構(gòu)) 閱讀 2139 評(píng)論 0 收藏 4 MYSQL查詢(xún)--子查詢(xún),合并查詢(xún) 閱讀 242 評(píng)論 0 收藏 0 MySQL偽事務(wù)和性能 閱讀 178 評(píng)論 0 收藏 0 MYSQL數(shù)據(jù)庫(kù)--定義表和字段的別名 閱讀 256 評(píng)論 0 收藏 0 MYSQL查詢(xún)--聚合函數(shù)查詢(xún) 閱讀 132 評(píng)論 0 收藏 0 MYSQL 查詢(xún)命令--單表查詢(xún) 閱讀 205 評(píng)論 0 收藏 0 ELK 平臺(tái)收集Tomcat日志記錄 閱讀 316 評(píng)論 0 收藏 0 CentOS 8 部署ELK日志分析平臺(tái) 閱讀 730 評(píng)論 0 收藏 0 Docker 數(shù)據(jù)管理和網(wǎng)絡(luò)通信 閱讀 246 評(píng)論 0 收藏 0 Docker 鏡像創(chuàng)建方法 閱讀 143 評(píng)論 0 收藏 0 Docker 容器操作 閱讀 195 評(píng)論 0 收藏 0 Docker 鏡像操作 閱讀 143 評(píng)論 0 收藏 0 CentOS 8 系統(tǒng)圖形化安裝教程(超詳細(xì)) 閱讀 4570 評(píng)論 0 收藏 0 Docker 部署 nginx + tomcat 閱讀 501 評(píng)論 0 收藏 0 Docker 部署war包項(xiàng)目 閱讀 2173 評(píng)論 0 收藏 1 華為云服務(wù)器安裝 Docker 容器 閱讀 901 評(píng)論 0 收藏 0 CentOS 8 安裝docker 容器 閱讀 4848 評(píng)論 0 收藏 0 解決 confluence 和 jira 數(shù)據(jù)包問(wèn)題 閱讀 225 評(píng)論 0 收藏 0 CentOS 7.6 搭建Gitlab教程 閱讀 234 評(píng)論 0 收藏 0 confluence 配置郵件服務(wù)器 閱讀 516 評(píng)論 0 收藏 0 Shell腳本實(shí)現(xiàn) tomcat 日志定時(shí)切割 閱讀 263 評(píng)論 0 收藏 0 阿里云服務(wù)器Centos7 配置465端口號(hào)發(fā)送郵件 閱讀 774 評(píng)論 0 收藏 0 MQTT 限制匿名用戶(hù)訪問(wèn),開(kāi)啟用戶(hù)密碼認(rèn)證 閱讀 640 評(píng)論 0 收藏 0 CentOS 7.6 部署Redis 數(shù)據(jù)庫(kù) 閱讀 150 評(píng)論 0 收藏 0 CentOS 7.6 破解安裝 Confluence 和 Jira(送安裝包和破解工具) 閱讀 5800 評(píng)論 0 收藏 0 Centos 7 安裝MQTT(EMQ)服務(wù)端 閱讀 943 評(píng)論 0 收藏 0 CentOS 7 實(shí)現(xiàn)yum安裝最新php版本 閱讀 2527 評(píng)論 0 收藏 0 Python3 對(duì)文件操作 閱讀 886 評(píng)論 0 收藏 0 Python3 操作Mysql數(shù)據(jù)庫(kù) 閱讀 820 評(píng)論 0 收藏 1 Selenium 定位元素的8種方法介紹 閱讀 1536 評(píng)論 0 收藏 0 Python Selenium 自動(dòng)配置zabbix郵箱報(bào)警功能 閱讀 568 評(píng)論 0 收藏 0 Zabbix 配置QQ郵箱報(bào)警通知 閱讀 2043 評(píng)論 0 收藏 0 CentOS 7 系統(tǒng)搭建私服倉(cāng)庫(kù)Nexus 閱讀 664 評(píng)論 0 收藏 1 解決CentOS 7 最小化安裝后無(wú)ifconfig命令 閱讀 687 評(píng)論 0 收藏 0 CentOS 7 安裝禪道并綁定公司內(nèi)網(wǎng)郵箱 閱讀 1161 評(píng)論 0 收藏 0 Shell 腳本自動(dòng)安裝公司內(nèi)部郵箱服務(wù)器--Postfix 閱讀 7066 評(píng)論 0 收藏 4 解決虛擬機(jī)在橋接模式下設(shè)置靜態(tài)ip,無(wú)法上外網(wǎng)的各種問(wèn)題 閱讀 10000+ 評(píng)論 6 收藏 0 Shell 腳本自動(dòng)安裝cobbler(改進(jìn)+填坑) 閱讀 10000+ 評(píng)論 3 收藏 0 Shell 腳本自動(dòng)安裝 Cobbler (知識(shí)點(diǎn)+踩坑點(diǎn)) 閱讀 5292 評(píng)論 0 收藏 6 CentOS 7.4 系統(tǒng)升級(jí)至7.6 閱讀 4738 評(píng)論 4 收藏 0 超實(shí)用技能--快速查看windows WiFi密碼 閱讀 4518 評(píng)論 0 收藏 0 Jenkins自動(dòng)化部署安卓項(xiàng)目 閱讀 7574 評(píng)論 0 收藏 1 記一次阿里云服務(wù)器安裝Python的血淚史 閱讀 1671 評(píng)論 6 收藏 1 Jenkins自動(dòng)化部署nodejs項(xiàng)目(前端項(xiàng)目) 閱讀 1445 評(píng)論 0 收藏 2 Jenkins自動(dòng)部署發(fā)布Java代碼(完整教程) 閱讀 9192 評(píng)論 0 收藏 1 Jenkins自動(dòng)化打包--war包 閱讀 9444 評(píng)論 2 收藏 3 shell 搭配 python 自動(dòng)安裝zabbix監(jiān)控端詳解 閱讀 1112 評(píng)論 0 收藏 1 在CentOS 7系統(tǒng)下升級(jí) Jenkins版本(含排坑過(guò)程) 閱讀 7223 評(píng)論 4 收藏 0 Window 10 安裝python 3.7 + selenium (附最新安裝包) 閱讀 2984 評(píng)論 0 收藏 0 CentOS 7 輕松安裝Jenkins 閱讀 3259 評(píng)論 0 收藏 1 腳本安裝Discuz論壇(shell + Python 實(shí)現(xiàn)自動(dòng)化安裝) 閱讀 1783 評(píng)論 0 收藏 0 Shell腳本自動(dòng)源碼包安裝LA/NMP架構(gòu)詳解(贈(zèng)軟件包+腳本) 閱讀 3068 評(píng)論 0 收藏 0 shell腳本一鍵安裝Tomcat服務(wù) 閱讀 2192 評(píng)論 0 贊賞 1 【值得收藏!】Vi 文本編輯器細(xì)講 閱讀 789 評(píng)論 4 收藏 1 企業(yè)應(yīng)用---部署LAMP平臺(tái) + Discuz論壇【贈(zèng)安裝包】 閱讀 2032 評(píng)論 0 收藏 2 【高效裝機(jī)】PXE實(shí)現(xiàn)無(wú)人值守安裝CentOS 6 閱讀 4144 評(píng)論 0 收藏 1 在CentOS 7 上安裝Oracle 12c 【贈(zèng)安裝包】 閱讀 4776 評(píng)論 0 收藏 1 輕松部署MFS分布式文件系統(tǒng) 【內(nèi)附源碼包】 閱讀 3049 評(píng)論 0 收藏 1 Memcached + LAMP 架構(gòu)安裝詳解【送源碼包】 閱讀 3523 評(píng)論 4 收藏 0 部署MySQL-MMM 高可用群集 閱讀 1123 評(píng)論 0 收藏 0 搭建 MySQL 讀寫(xiě)分離(內(nèi)附源碼包) 閱讀 573 評(píng)論 2 收藏 1 Mysql數(shù)據(jù)庫(kù)主從復(fù)制 閱讀 716 評(píng)論 0 收藏 0 mysql數(shù)據(jù)庫(kù)基本命令---多條數(shù)據(jù)的同時(shí)操作 閱讀 999 評(píng)論 0 收藏 0 使用Haproxy 搭建web群集 閱讀 496 評(píng)論 2 收藏 0 MySQL數(shù)據(jù)庫(kù)源碼包安裝(5.7最新版本) 閱讀 568 評(píng)論 0 收藏 0 解決PXE裝機(jī)報(bào)警----重復(fù)安裝系統(tǒng),無(wú)法進(jìn)入用戶(hù)登錄界面 閱讀 1521 評(píng)論 0 收藏 0 解決PXE裝系統(tǒng)報(bào)警問(wèn)題----寫(xiě)入空間不足 閱讀 705 評(píng)論 0 收藏 0 Nginx 服務(wù)語(yǔ)法正確,服務(wù)啟動(dòng)失敗解決方法 閱讀 767 評(píng)論 0 收藏 0 CentOS 7 實(shí)現(xiàn)Nginx+Tomcat 負(fù)載均衡 閱讀 685 評(píng)論 0 收藏 0 Nginx 構(gòu)建虛擬主機(jī) 閱讀 618 評(píng)論 0 收藏 0 Nginx 服務(wù)安全優(yōu)化---隱藏版本號(hào)、網(wǎng)頁(yè)緩存、日志分割 閱讀 599 評(píng)論 0 收藏 0 輕松部署Tomcat服務(wù)器 閱讀 346 評(píng)論 0 收藏 0 Apache網(wǎng)頁(yè)安全優(yōu)化----設(shè)置防盜鏈和隱藏版本信息 閱讀 748 評(píng)論 0 收藏 0 手工編譯安裝Apache網(wǎng)站(贈(zèng)送源碼包) 閱讀 638 評(píng)論 0 收藏 1 Apache構(gòu)建虛擬web主機(jī) 閱讀 747 評(píng)論 0 收藏 0 CentOS 6 yum 安裝Apache網(wǎng)站 閱讀 2072 評(píng)論 0 收藏 0 搭建AWStats日志分析系統(tǒng)(內(nèi)附awstats軟件包) 閱讀 10000+ 評(píng)論 0 收藏 0 圖文詳解cobbler 自動(dòng)裝機(jī)教程 (內(nèi)附epel源) 閱讀 10000+ 評(píng)論 8 收藏 2 DNS分離解析教學(xué) 超簡(jiǎn)單! 閱讀 679 評(píng)論 0 收藏 0 FTP服務(wù)最安全認(rèn)證模式---虛擬賬戶(hù)訪問(wèn) 閱讀 4440 評(píng)論 0 收藏 0 FTP服務(wù)器--實(shí)現(xiàn)本地用戶(hù)訪問(wèn),拒絕匿名用戶(hù) 閱讀 749 評(píng)論 0 收藏 0 快速搭建FTP服務(wù)器--實(shí)現(xiàn)匿名用戶(hù)上傳和下載 閱讀 1296 評(píng)論 2 收藏 0 Linux 6.5 服務(wù)器上搭建本地yum倉(cāng)庫(kù) 閱讀 2206 評(píng)論 0 收藏 0 【超好用】弱口令掃描工具John the Ripper 圖文教程(附軟件包) 閱讀 2669 評(píng)論 4 收藏 1 詳述在Linux上掛載window共享文件夾 閱讀 634 評(píng)論 12 收藏 0 Redhat Linux 6.5 圖文詳細(xì)安裝教程【附安裝包】 閱讀 7550 評(píng)論 8 收藏 2
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python爬取網(wǎng)頁(yè)信息的示例
- Python爬取12306車(chē)次信息代碼詳解
- Python爬蟲(chóng)實(shí)例——scrapy框架爬取拉勾網(wǎng)招聘信息
- 用Python爬取LOL所有的英雄信息以及英雄皮膚的示例代碼
- Python CSS選擇器爬取京東網(wǎng)商品信息過(guò)程解析
- Python利用Xpath選擇器爬取京東網(wǎng)商品信息
- python爬取本站電子書(shū)信息并入庫(kù)的實(shí)現(xiàn)代碼
- Python爬取愛(ài)奇藝電影信息代碼實(shí)例
- Python如何使用BeautifulSoup爬取網(wǎng)頁(yè)信息
- 基于python爬取鏈家二手房信息代碼示例
相關(guān)文章
python matplotlib保存圖片不全問(wèn)題及解決
這篇文章主要介紹了python matplotlib保存圖片不全問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09Python實(shí)現(xiàn)二叉搜索樹(shù)增刪改查
二叉搜索樹(shù)是一種特殊的二叉樹(shù),在本文中,我將介紹如何用Python語(yǔ)言實(shí)現(xiàn)一個(gè)簡(jiǎn)單的二叉搜索樹(shù),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2023-08-08Python寫(xiě)腳本常用模塊OS基礎(chǔ)用法詳解
這篇文章主要介紹了Python寫(xiě)腳本常用模塊OS基礎(chǔ)用法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03極簡(jiǎn)Python庫(kù)CherryPy構(gòu)建高性能Web應(yīng)用實(shí)例探索
今天為大家介紹的是 CherryPy,它是一個(gè)極簡(jiǎn)、穩(wěn)定且功能強(qiáng)大的Web框架,可以幫助開(kāi)發(fā)者快速構(gòu)建高性能的 Web 應(yīng)用程序,使用 CherryPy,你可以輕松地創(chuàng)建RESTful API、靜態(tài)網(wǎng)站、異步任務(wù)和 WebSocket 等應(yīng)用2024-01-01Python語(yǔ)法學(xué)習(xí)之正則表達(dá)式的量詞匯總
通過(guò)正則的規(guī)則匹配到的信息都是一個(gè)單獨(dú)的字符存到輸出結(jié)果中的,如何更夠根據(jù)字符串中的詞組進(jìn)行匹配呢?因此本文將帶大家學(xué)習(xí)一下正則表達(dá)式中的量詞符號(hào)與組的概念,感興趣的可以了解一下2022-04-04