爬取的网站链接为 base_url= https://www.gushiwen.org/
想按照页面右边栏的各个分类进行爬取,例如“春天”,“夏天”,“爱情”,“爱国”等。
拿“爱情”类别举例,点进去发现链接变为 https://so.gushiwen.org/gushi/aiqing.aspx
ctrl+shift+I 观察html页面结构 发现每个诗的链接都藏在<div class="typecont">下,通过xpath很容易获取链接。
base_url 加上这里<a href>后面的链接即可找到诗词所在页面:
同样的道理获取朝代、诗人、内容。
获取内容时要注意,有的格式为<div> 文本</div>,但是有的格式为<div> <p>文本</p> </div>
所以要先获取到上一级之后 再用 .xpath("string(.)")。 全部代码如下: