base64解析爬取糗百
2024-10-20 16:04:59
一、缘由
这是我之前刚开始学习的时候爬取糗百的练习内容,主要练习的是bs64解析。虽然现在用的不是特别的多,但是当初的时候用起来还是非常的顺手的。
二、代码实现
#coding:utf-8 import requests
from bs4 import BeautifulSoup def download_page(url):
headers={
'User - Agent':"Mozilla / 5.0(Windows NT 10.0; WOW64) AppleWebKit / 537.36(KHTML, like Gecko) Chrome / 86.0.4240.198 Safari / 537.36"
} #模拟请求登录
r=requests.get(url,headers=headers)
return r.text def get_content(html,page):
output='''第{}页 作者:{}性别:{}年龄:{}点赞:{}\n{}\n----------\n\n'''
soup=BeautifulSoup(html,'html.parser')
con=soup.find('div',id='content')
con_list=con.find_all('div',class_='article')
for i in con_list:
# hot_comments = i.find('div', class_='main-text').get_text() # 获取热评
vote = i.find('i', class_='number').string # 点赞数
author=i.find('h2').string #获得作者的名字
content=i.find('div',class_='content').find('span').get_text() #获取内容
author_info=i.find('div',class_='artciGender') #获取性别,年龄等
if author_info is not None:
class_list=author_info['class']
if 'womenIcon' in class_list:
gender='女'
elif 'manIcon' in class_list:
gender='男'
else:
gender=''
age=author_info.string
else:
gender=''
age=''
save_txt(output.format(page,author,gender,age,vote,content,))#hot_comments def save_txt(*args):
for i in args:
with open('qiubai.txt','a',encoding='utf-8') as f:
f.write(i)
print(i) def main():
for i in range(1,14):
url=f'''https://www.qiushibaike.com/text/page/{i}/'''
html=download_page(url)
get_content(html, i) if __name__ == '__main__':
main()
三、效果展示
最新文章
- 微信,qq,微博如何不用每次清缓存就能看到h5修改过的结果
- [HTML] CSS Id 和 Class选择器
- spring实战一:装配bean之注入Bean属性
- 根据数据库内容动态生成html页面
- trident 序列号问题
- Junit单元测试的实例
- 如何设置EditPlus的默认编码utf-8方式
- Entity Framewor 学习笔记 (Enum)
- ORACLE存储过程笔记3
- [Cocos2d-x]Mac下运行HelloCpp For Android
- html5--画布
- ZOJ2401 Zipper 双塔式 DP
- jquery运用FormData结合Ajax异步上传表单,超实用
- shutil.copy()、os.walk()、os.rename()实例
- day11 匿名函数
- DDR3基本知识及测试【转】
- QT,QT SDK, QT Creator 区别
- 30_网络编程-socketserver
- js for form
- Oracle学习笔记(九)
热门文章
- Elasticsearch:inverted index,doc_values及source
- MySQL 的七种日志总结
- 监控Redis集群--废弃,使用新教程
- 企业信息化建PLM系统、ERP系统、MES系统是单个逐步建设好,还是同时上比较好?
- [题解] Atcoder Beginner Contest ABC 270 G Ex 题解
- C#-4 方法
- 干货|什么是特性团队/功能团队(FeatureTeam)
- kubernetes VS OpenShift浅析
- k8s集群正常kubectl用不了
- <;一>;从指令角度了解函数堆栈调用过程