需求分析
现在的网页版页面确实越来越难使用了,不仅很多网站从一开始就没有提供网页版,就连很多以前有网页版的网站,也将页面关掉了,纷纷要求下载手机app使用。比如说糗某百科,在去年的时候还有提供网页版的段子可供观看,但是在今年的网站主页上,也只剩下了下载app的页面了
没办法,我只是一个偶尔想要看看笑话的人,并不是一个段子专业户。所以,我也没有打算下载手机app,那么,就简单的写一个python程序,来刷几条笑话看吧
实现分析
事实上,这个功能非常的简单,没有很多要分析的。我们的程序也只能供个人偶尔查看几条,并不能将所有的笑话都爬下来
程序运行后,可以看到一条笑话,然后按回车确认后,可以刷新出新的笑话,输入q可以退出。那么下边就直接放上实现代码
完整代码示例
import requests
from lxml import etree
def print_story(story):
for i in story:
print(i)
print()
headers = {"user-agent": "Mozilla 5.0"}
start_url = "http://www.xiaohua8.com/xiaohua_236223/"
response = requests.get(start_url, headers=headers)
response = etree.HTML(response.text)
story = response.xpath("//p/text()")
print_story(story)
next = response.xpath("//a[text()='下一页']/@href")[0]
while True:
if input("输入回车键继续,输入q退出:") == "q":
break
response = requests.get(next, headers=headers)
response = etree.HTML(response.text)
story = response.xpath("//p/text()")
print_story(story)
next = response.xpath("//a[text()='下一页']/@href")[0]
程序运行结果展示
多数爬虫程序很快就会由于对方地址和服务变化导致失效,因此无法保证当你看到这篇文章时,文中的程序仍然可以使用。如果文中的程序已失效,需要自行或者求助他人进行重写
另外,切勿将爬虫程序用于非法用途,或者错误的滥用造成对方网站的负担,谢谢!