Python实例之抓取HTML中的数据并保存为TXT

时间:2021-11-25 08:18:21

本实例实现了抓取捧腹网中存储于html中的笑话数据(非JSON数据)

通过浏览器相关工具发现捧腹网笑话页面的数据存储在HTML页面而非json数据中,因此可以直接使用soup.select()方法来抓取数据,具体实现代码如下:

import requests
from bs4 import BeautifulSoup
restr
= ''
for j in range(1,51): #一共抓取50个页面的数据
html = 'https://www.pengfu.com/xiaohua_'+str(j)+'.html'
res
= requests.get(html)
res.encoding
= 'utf-8' #html_doc = str(res.content,'utf-8')亦可
soup = BeautifulSoup(res.text,'lxml')
h1
= soup.select('h1[class=dp-b]')
con
= soup.select('.content-img')
for i in range(0,10): #每页抓取10条笑话
rh1 = '笑话标题:' + h1[i].text.strip().replace('\n','')
rcon
= '笑话内容:' + con[i].text.strip().replace('\n','')
restr
+= rh1
restr
+= '\n'
restr
+= rcon
restr
+= '\n\n'
print('当前正在读取第'+str(j)+"页的第"+str(i+1)+'条笑话...')
f
= open('捧腹网笑话500条.txt','w',1,'UTF-8')
f.write(restr)
print('正在保存。。。')
f.close
print('保存完毕!')