20行代码爬取文章,实现复制自由!(懂得都懂)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

前几天在要写一个习思论文作业,这我肯定自己编不出来呀,怎么办?上网上搜呗,直接就是cv,找半天终于有个差不多的,我直接就是选中ctrl+c,然后就出来个付费界面

咦~我日他得呀,掏钱???,2.99???这会中???(请忽略这优美的河南话),大学生养活自己都困难,还掏钱买这个???不可能,绝对不可能!!!

正好前段时间自学了点python,我直接爬下来不就好了?说干就干。(以https://www.xuexila.com中的毛概论文为例,我作业就是爬这上面的,哈哈哈哈哈哈)

观察上图可以发现,发现这个文章网站的url有一个规律:
https://www.xuexila.com/lunwen/maogailunwen/ + 具体页面

那这样我们就可以通过字符串拼接,爬取多个不同页面的文章啦

然后获取网页源码通过xpath解析获取想要的内容了,话不多说,代码如下(我刚学python,是个小白,写的不好,请轻点喷,如有需要改进,请大佬指导)

import urllib.request
from lxml import etree

url = 'https://www.xuexila.com/lunwen/maogailunwen/'
headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36 Edg/123.0.0.0',
    'Cookie':'BAIDU_SSP_lcr=https://www.baidu.com/link?url=WbVqVnypFlLPfN1nRQ6CVi69FPs6WDRCBhuqF8VLn2Oc6XhWjAP0hLSCh1a50jIuVEMXjEkaM0qy4cUjh54IVLreA-zbJqOPmD_2usKU-zC&wd=&eqid=fd680d7b00315bca00000002661a1384; Hm_lvt_21dde1905f8a020144845db642076ab0=1712984097,1712984974; Hm_lvt_131400995d47b61f78d7b2c524f97391=1712984097,1712984974; Hm_lpvt_131400995d47b61f78d7b2c524f97391=1712985294; Hm_lpvt_21dde1905f8a020144845db642076ab0=1712985294'
}

# 输入具体页面编号
url = url + input("请输入网页编号:") + ".html"

request = urllib.request.Request(url=url, headers=headers)
response = urllib.request.urlopen(request)
content = response.read().decode('utf-8')

# 解析服务器响应的数据
tree = etree.HTML(content)
# xpath获取想要的数据
result = tree.xpath('//div[@class="con_article con_main"]/*/text()')

# 存储为txt文件
with open("article.txt","w") as file:
    for p in result:
        if '参考文献' in p:
            # 分隔开每篇文章
            file.write("\n\n------------------------------------------------------------")
        file.write(p.strip() + "\n")

 运行截图以及结果如下:

感谢观看!!! 


  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值