一、獲取網頁鏈接
找到自己想要爬取的文章把它們加入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文件夾如下
歡迎大家提出建議!