01 实现背景
1、笑话网站—ZOL笑话大全:http://xiaohua.zol.com.cn/detail60/1.html,**我们获取笑话/段子的数据来源**
2、requests模块,用于http形式请求访问网页
3、BeautifulSoup模块,用于解析获取到的网页内容
02 实现目标
首先利用requests模块获取ZOL笑话大全网页源码,再通过BeautifulSoup模块进一步筛选获得笑话文本内容,最终存储在本地文件joke.txt
03 注意事项
1、本代码默认循环10次,即获取10个笑话内容,如需获取更多或更少笑话,可自行调整参数
for i in range(10)
2、本代码默认将获取的笑话内容,存储到python脚本所在目录的joke.txt文件,如需修改存储路径,可自行操作
with open('joke.txt',mode = 'a+') as file:
04 实现代码
import requests
from bs4 import BeautifulSoup
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'
} #设置代理,破解简单的反爬机制
for i in range(10): #循环10次,意思为检索笑话网10个页面
resp = requests.get('http://xiaohua.zol.com.cn/detail60/{}.html'.format(i), headers = headers)
html=resp.text
soup =BeautifulSoup(html,'lxml') #对网页内容进行解析
print(soup.select('.article-title')[0].text)
print(soup.select('.article-text')[0].text)
print(soup.select('.article-source a')[0].text)
with open('joke.txt',mode = 'a+') as file: #将获取到的笑话存储在本地文件joke.txt中
file.write(soup.select('.article-title')[0].text+'\n')
file.write(soup.select('.article-text')[0].text+'\n')
file.write(soup.select('.article-source a')[0].text+'\n')