Python学习笔记之爬取网页保存到本地文件
生活随笔
收集整理的這篇文章主要介紹了
Python学习笔记之爬取网页保存到本地文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?爬蟲的操作步驟:
?
爬蟲三步走
- 爬蟲第一步:使用requests獲得數據:?(request庫需要提前安裝,通過pip方式,參考之前的博文)
1.導入requests
2.使用requests.get獲取網頁源碼 - import requests
r = requests.get('https://book.douban.com/subject/1084336/comments/').text
- 爬蟲第二步:使用BeautifulSoup4解析數據: (BeautifulSoup4庫需要提前安裝,通過pip方式,參考之前的博文)
1.導入bs4
2.解析網頁數據
3.尋找數據
4.for循環打印
- 爬蟲第三步:使用pandas保存數據: (pandas庫需要提前安裝,通過pip方式,參考之前的博文)
1.導入pandas
2.新建list對象
3.使用to_csv寫入
?
完整的爬蟲(值得注意的是關于BeautifulSoup和pandas兩個包,都需要事先在電腦上安裝,可以使用pip命令方式安裝,具體方法可查看之前的博文命令 pip install beautifulsoup? ? &? pip install pandas)
import requests r = requests.get('https://book.douban.com/subject/1084336/comments/').textfrom bs4 import BeautifulSoup soup = BeautifulSoup(r,'lxml') pattern = soup.find_all('p','comment-content') for item in pattern: print(item.string)import pandas comments = [] for item in pattern: comments.append(item.string) df = pandas.DataFrame(comments) df.to_csv('comments.csv')#當然這里可以指定文件路徑,如 D:/PythonWorkSpace/TestData/comments.csv代碼運行結果:(注意的是,運行結果為csv,可能你用Excel打開之后會出現亂碼,那是因為csv格式不對,怎么解決呢?
你可以將csv文件用Notepad++打開,編碼Encoding選擇 Encode in UTF-8-BOM)
?
如果是多頁的話,為了防止保存到CSV 文件中的數據被上一頁覆蓋,可以這樣用:
mode='a', header = False df.to_csv('D:/Python....csv', mode='a', header = False)
轉載于:https://www.cnblogs.com/PeterZhang1520389703/p/8177550.html
總結
以上是生活随笔為你收集整理的Python学习笔记之爬取网页保存到本地文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: docker 2375 vulnerab
- 下一篇: 生活实遇记-Kindle好久没用,屏幕一