提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前几天在要写一个习思论文作业,这我肯定自己编不出来呀,怎么办?上网上搜呗,直接就是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")
运行截图以及结果如下:
感谢观看!!!