爬取多篇知乎網文章內容


一、獲取網頁鏈接

找到自己想要爬取的文章把它們加入urls字典中

1 def get_url(): 2     urls=[]#獲取多條網頁鏈接將它們存入urls中
3     urls.append('http://daily.zhihu.com/story/9717314') 4     urls.append('http://daily.zhihu.com/story/9717526') 5     urls.append('http://daily.zhihu.com/story/9717328') 6     return urls

二、存儲操作

把獲取的內容存進csv文件夾

1 def html_save(s): 2     with open('save.csv','a')as f:#以a的方式表示把內容追加到已有內容的后面
3         f.write(s+'\n')

三、網頁解析

對得到的網頁鏈接進行內容的爬取並存儲

 1 def parse_html(url):  2     headers = {  3     'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36'
 4     }#在網頁面獲取訪問頭
 5     docx=requests.get(url,headers=headers)#用requests獲取網頁,調用訪問頭進入訪問否則可能會不被允許。
 6     soup=BeautifulSoup(docx.text,'html.parser')#用beutifulsoup進行解析
 7     c_txt=soup.find('div',{'class':'content'})#在網頁界面找到需要查找的信息名稱進行find
 8     for i in c_txt:  9         if i.string!=None:#當查找的信息不為空
10             s=i.string.replace('\n','')#把查找到的內容\n替換為空格
11             if s!='':#把不為空的部分進行存儲操作
12                 print(s) 13                 html_save(s)

獲取頭請求

最后一行就是我們的請求頭

 

 

 

四、對多條網頁鏈接進行爬取

把get_url里面存儲的網頁鏈接取出來進行判斷如果不為空就進行解析操作,否則跳出。

1 def parse_htmls(n):#進行多網頁爬取存儲
2     for url in get_url():#把網頁進行判斷解析
3         if url!=None:#不為空就進行解析輸出
4  parse_html(url) 5            print('parse sucsses!') 6         else:#為空則結束本次循環進入下一循環
7             print('None html') 8             continue

五、源代碼

 1 import requests  2 from bs4 import BeautifulSoup  3 
 4 def get_url():  5     urls=[]#獲取多條網頁鏈接將它們存入urls中
 6     urls.append('http://daily.zhihu.com/story/9717314')  7     urls.append('http://daily.zhihu.com/story/9717526')  8     urls.append('http://daily.zhihu.com/story/9717328')  9     return urls 10 
11 def html_save(s): 12     with open('save.csv','a')as f:#以a的方式表示把內容追加到已有內容的后面
13         f.write(s+'\n') 14 
15 def parse_html(url): 16     headers = { 17     'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36'
18     }#在網頁面獲取訪問頭文件
19     docx=requests.get(url,headers=headers)#用requests獲取網頁,頭文件進入訪問否則可能會不被允許。
20     soup=BeautifulSoup(docx.text,'html.parser')#用beutifulsoup進行解析
21     c_txt=soup.find('div',{'class':'content'})#在網頁界面找到需要查找的信息名稱進行find
22     for i in c_txt: 23         if i.string!=None:#當查找的信息不為空
24             s=i.string.replace('\n','')#把查找到的內容\n替換為空格
25             if s!='':#把不為空的部分進行存儲操作
26                 print(s) 27  html_save(s) 28     
29 def parse_htmls(n):#進行多網頁爬取存儲
30     for url in get_url():#把網頁進行判斷解析
31         if url!=None:#不為空就進行解析輸出
32  parse_html(url) 33            print('parse sucsses!') 34         else:#為空則結束本次循環進入下一循環
35             print('None html') 36             continue
37 
38 parse_htmls(3)#解析三條網頁信息

六、運行結果

爬取結果

爬取成功輸出parse sucsses!提示

 

 存儲結果:

爬取內容存入csv文件夾如下

 

 歡迎大家提出建議!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM