Zeaf 发表于 2020-3-11 21:32

【北大法宝】最新法律动态爬取(已失效)

本帖最后由 Zeaf 于 2021-7-29 19:35 编辑

萌新日常练手,忙里偷闲
多页不会...似乎用的Post,萌新暂时只会get{:1_925:}
生成一个表格和图(词云)
# -*- coding: utf-8 -*-
"""
Created on Wed Mar 11 10:50:21 2020

@author: Zeaf
"""

import requests# 导入requests库
import re# 导入正则表达式库
import time# 导入时间库
import pandas as pd # 导入pandas库
import matplotlib.pyplot as plt
import wordcloud as wc

print('created by Zeaf')
print('若想停止请按ctrl+C')
user = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36'
}
response = requests.get('http://www.pkulaw.cn/cluster_form.aspx?Db=news&menu_item=law&EncodingName=&keyword=%u884C%u653F%u590D%u8BAE%u6CD5&range=name&',headers=user)# 用requests库的get函数访问总网页,用headers进行伪装,获得源码
html = response.text# 用文本显示访问网页得到的内容
urls = re.findall('href="(.*?)" target="_blank"', html)# 用正则表达式获得所有文章网址
#创建空列表用于存储数据
title_in = []
date_in = []
place_in = []
keyword_in = []
url_in = []
for url in urls:#循环输出获得的网址
    time.sleep(1)#暂停1s
    url= 'http://www.pkulaw.cn/'+url#因为爬取得到的网址只是部分,故以此方式填充
    response = requests.get(url,headers=user)# 用requests库的get函数访问总网页,用headers进行伪装,获得源码
    html = response.text# 用文本显示访问网页得到的内容
    title = re.findall('<strong>(.*?)</strong>', html)# 获取标题
    date = re.findall('【发布日期】</font> (.*?)</td>', html) # 获取日期
    place = re.findall('【来源】</font> (.*?)</td>', html) # 获取来源
    keyword = re.findall('【关键词语】</font> <a href=".*?" target=_blank>(.*?)</a>', html) # 获取关键词
    #合并数据用于制表
    title_in.append(title)#注意这里title为列表,须先读取后导入,下同
    date_in.append(date)
    place_in.append(place)
    keyword_in.append(keyword)
    url_in.append(url)
    print('保存中...')
print('保存成功!')
#导入数据
data={'标题':title_in, '发布日期':date_in, '来源':place_in, '关键词语':keyword_in,'原文链接':url_in}
y=pd.DataFrame(data)
y.to_excel('news.xlsx',index=False)#制表
print('生成表格成功!')
#绘制词云
content = ' '.join(keyword_in)
wordcloud = wc.WordCloud(max_words=50,font_path='simhei.ttf').generate(content)#黑体字
plt.imshow(wordcloud)#绘制
plt.show()
wordcloud.to_file('news.jpg')#保存图片,可以d:\来指定目录

Zeaf 发表于 2020-6-14 23:25

hshcompass 发表于 2020-6-14 16:17
词云可以好好介绍一下吗?

怎么突然翻我的旧贴。。
这个词云我就只会这个基础啊。。介绍,emmm看着不够明白吗,主要就是相关库的运用哦,建议CSDN看看可能更详细

Zeaf 发表于 2020-6-14 23:29

1e3e 发表于 2020-6-14 22:07
可以运行但无法生成表格

我特意试了下,可以生成,网站并无变动
有报错信息吗
有提示保存完毕或者生成表格成功吗?
表格就在代码的同目录下

chenchen_82482 发表于 2020-3-11 21:54

感谢分享,谢谢楼主

羽莲华 发表于 2020-3-11 21:55

感谢分享,谢谢楼主的资源,加油

g00dgame 发表于 2020-3-11 22:04

这个很深奥,我的好哈研究下,感谢分享!

LG小哥 发表于 2020-3-11 22:14

很厉害的样子

七月未见晴 发表于 2020-3-12 16:43


这个很深奥,我的好哈研究下,感谢分享

hululove 发表于 2020-6-3 12:17

安装词云要C++框架 好奇怪啊

Zeaf 发表于 2020-6-3 12:20

hululove 发表于 2020-6-3 12:17
安装词云要C++框架 好奇怪啊

这个安装好像是有点不一样,有点久远不太记得

hululove 发表于 2020-6-3 12:37

试了下没法用啊https://cdn.jsdelivr.net/gh/hishis/forum-master/public/images/patch.gif

Zeaf 发表于 2020-6-3 13:29

本帖最后由 Zeaf 于 2020-6-3 13:31 编辑

hululove 发表于 2020-6-3 12:37
试了下没法用啊
我刚跑了下完全可行。。。
你看下报错信息吧
表格:https://ws28.cn/f/2ojt677x4rh
页: [1] 2 3
查看完整版本: 【北大法宝】最新法律动态爬取(已失效)