吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5058|回复: 20
收起左侧

[Python 转载] 【北大法宝】最新法律动态爬取(已失效)

  [复制链接]
Zeaf 发表于 2020-3-11 21:32
本帖最后由 Zeaf 于 2021-7-29 19:35 编辑

萌新日常练手,忙里偷闲
多页不会...似乎用的Post,萌新暂时只会get{:1_925:}
生成一个表格和图(词云)
[Python] 纯文本查看 复制代码
# -*- 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[0])#注意这里title为列表,须先读取后导入,下同
    date_in.append(date[0])
    place_in.append(place[0])
    keyword_in.append(keyword[0])
    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:\来指定目录

生成表格

生成表格

词云

词云

免费评分

参与人数 3吾爱币 +3 热心值 +3 收起 理由
骄傲猫舅舅 + 1 + 1 热心回复!
pku小胖 + 1 我很赞同!
威风的黑龙 + 2 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 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
试了下没法用啊
 楼主| Zeaf 发表于 2020-6-3 13:29
本帖最后由 Zeaf 于 2020-6-3 13:31 编辑
hululove 发表于 2020-6-3 12:37
试了下没法用啊

我刚跑了下完全可行。。。
你看下报错信息吧
表格:https://ws28.cn/f/2ojt677x4rh
20200603.png
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 13:12

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表