Python爬虫爬取:科幻世界

作为一名科幻的忠实爱好者,《科幻世界》是伴随我长大的朋友,学习之余能看上一篇精彩的科幻小说无疑是一种享受。
今天博主尝试在参考网上爬取免费的《科幻世界》往期期刊。

如图:
在这里插入图片描述

话不多说,直接上代码。

import requests
import os
from lxml import etree
import time

if not os.path.exists('fiction'):
    os.mkdir('fiction')
    
url_part='http://www.fx361.com/bk/khsj/2020%d.html'
headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Safari/537.36 Edg/87.0.664.47'}
for i in range(1,11):
    url=format(url_part%i)
    html_data=requests.get(url=url,headers=headers).text
    tree=etree.HTML(html_data)
    div_list=tree.xpath('//*[@id="dirList"]/div')
    for div in div_list:
        href=div.xpath('./ul/li/a/@href')[0]
        title=div.xpath('./ul/li/a/text()')[0]
        all_title='fiction/'+title+'.text'
        text_url='http://www.fx361.com'+href
        response=requests.get(url=text_url,headers=headers)
        response.encoding='utf-8'
        text_data=response.text
        tree2=etree.HTML(text_data)
        fiction_data=tree2.xpath('/html/body/div[2]/div[2]/div[1]/div/div[2]//text()')
        fiction_data=''.join(fiction_data)
        with open(all_title,'w',encoding='utf-8') as fp:
            fp.write(fiction_data)
        print(title,'存储完毕!')

运行截图:
在这里插入图片描述
之后我放到wps上看:
在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值