运行环境
python:python3.6.5
IDE:pycharm
依赖模块
request,re
实现目的
实现从糗事百科网站上爬取所有的文本笑话,以txt的文本保存在程序所在文件夹内
源码可以直接运行
源码
import requests
import re
#设置UA,模拟浏览器正常访问
head={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}
#获取网页
def get_page(url):
try:
response=requests.get(url,headers=head)
#判断网页状态码,是否正确获取网页
if response.status_code==200:
#返回解析后的网页
return response.text
return None
except Exception:
#提示信息
print('出现错误,请检查重试')
def parse_page(html):
print('正在解析数据.....')
#正则表达式,规则书写
req_pattern = re.compile(
'<div class="article block untagged mb15 typs.*?>.*?class="content".*?span>(.*?)</span>',
re.S)
#查找符合正则的内容
joke_texts=re.findall(req_pattern,html)
print('正在写入文本.......')
save_to_text(joke_texts)
def save_to_text(joke_texts):
#文件写入
with open('糗事百科.txt', 'a+', encoding='utf-8') as f:
for i in range(0, len(joke_texts)):
k = joke_texts[i].replace('<br/>', '\n')
f.write(k)
def main(page):
url='https://www.qiushibaike.com/text/page/{}/'.format(page)
print('正在请求第{}页数据...'.format(page))
html=get_page(url)
if html:
parse_page(html)
if __name__ == '__main__':
for i in range(1,14):
main(i)
print('数据写入完成,请愉快阅读')
效果如下