Python爬取糗百段子教程
Python 爬虫的入门案例里,爬糗百段子算是蛮经典的一个了。糗百的页面结构不复杂,挺适合新手练手,老手复习正则和 BeautifulSoup 也挺顺手的。
requests配合BeautifulSoup,基本能搞定 HTML 的提取。用requests.get()
拿到网页内容,再用BeautifulSoup(response.text, 'html.parser')
解析,速度快,代码也好维护。
你要是碰到结构稍微复杂点的页面,像段子藏在某个带 class 的
标签里,那就得动用正则表达式来细致提取。比如搞笑段子的内容就经常嵌在特定结构里,这时候用
re.findall()
来筛一筛,效果不错。
结合起来用也挺灵活的,比如先用soup.find()
锁定大致范围,再正则匹配具体内容。这样写出来的爬虫更稳,就算网站稍微改了结构,改动也不会太大。
别忘了数据存储,不管是扔进.csv
还是写进数据库,别让你抓下来的好内容白费力气。用csv.writer
就能一行行存下来,挺方便。
哦对了,如果你想做点单元测试,PyTest真的蛮推荐的。可以写个函数跑一下已知页面,验证下正则和提取逻辑,放心多了。
了,爬站之前最好先看看robots.txt
,别一不小心爬了不该爬的。糗百虽然页面简单,但你要是有 API 那就更省事了。
想继续深入,可以看看这些资源:
11.58KB
文件大小:
评论区