首页 > 其他分享 >2024.09.09 北京市政信件

2024.09.09 北京市政信件

时间:2024-10-17 14:00:10浏览次数:7  
标签:md text 09 2024.09 find soup 信件 div col

 

       今天开学第一天,主要进行了北京市政百姓信件分析进行了爬虫

import json

  import demjson3 import requests from bs4 import BeautifulSoup import csv   headers = {     'Host''www.beijing.gov.cn',     'User-Agent''Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0',     'Accept''application/json, text/javascript, */*; q=0.01',     'Accept-Language''zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2',     'Accept-Encoding''gzip, deflate',     'Content-Type''text/json',     'X-Requested-With''XMLHttpRequest',     'Content-Length''155',     'Origin''http://www.beijing.gov.cn',     'Connection''keep-alive',     'Referer''http://www.beijing.gov.cn/hudong/hdjl/' }   if __name__ == "__main__":     page = 1     datas = json.dumps({})       while page < 175:         print(page)         url = f"https://www.beijing.gov.cn/hudong/hdjl/sindex/bjah-index-hdjl!replyLetterListJson.action?page.pageNo={page}&page.pageSize=6&orgtitleLength=26"         = requests.post(url, data=datas, headers=headers)         rr = demjson3.decode(r.text);             for item in rr.get("result", []):             originalId = item.get("originalId")  # 编号             letterTypeName = item.get("letterTypeName")  # 信件类型               # 构建详情页URL             detail_url = f"http://www.beijing.gov.cn/hudong/hdjl/com.web.{('consult' if letterTypeName == '咨询' else 'suggest')}.{('consultDetail' if letterTypeName == '咨询' else 'suggesDetail')}.flow?originalId={originalId}"             r1 = requests.get(detail_url, headers={'user-agent''Mozilla/5.0'})               if r1.status_code == 200:                 demo = r1.text                 soup = BeautifulSoup(demo, "html.parser")                   title = soup.find("strong").get_text().replace("\n", "") if soup.find("strong") else ""                 fromPeople = soup.find_all("div", {"class""col-xs-10 col-lg-3 col-sm-3 col-md-4 text-muted"})[0].get_text().lstrip('来信人:').lstrip().rstrip() if soup.find_all("div", {"class""col-xs-10 col-lg-3 col-sm-3 col-md-4 text-muted"}) else ""                 fromTime = soup.find_all("div", {"class""col-xs-5 col-lg-3 col-sm-3 col-md-3 text-muted"})[0].get_text().lstrip('时间:'if soup.find_all("div", {"class""col-xs-5 col-lg-3 col-sm-3 col-md-3 text-muted"}) else ""                 problem = soup.find_all("div", {"class""col-xs-12 col-md-12 column p-2 text-muted mx-2"})[0].get_text().lstrip().rstrip().replace("\r", "").replace("\n", "") if soup.find_all("div", {"class", "col-xs-12 col-md-12 column p-2 text-muted mx-2"}) else ""                 office = soup.find_all("div", {"class""col-xs-9 col-sm-7 col-md-5 o-font4 my-2"})[0].get_text().replace("\n", "") if soup.find_all("div", {"class": "col-xs-9 col-sm-7 col-md-5 o-font4 my-2"}) else ""                 answerTime = soup.find_all("div", {"class""col-xs-12 col-sm-3 col-md-3 my-2"})[0].get_text().lstrip('答复时间:'if soup.find_all("div", {"class""col-xs-12 col-sm-3 col-md-3 my-2"}) else ""                 answer = soup.find_all("div", {"class""col-xs-12 col-md-12 column p-4 text-muted my-3"})[0].get_text().lstrip().rstrip().replace("\n", "").replace("\r", "") if soup.find_all("div", {"class": "col-xs-12 col-md-12 column p-4 text-muted my-3"}) else ""                   itemm = f"{originalId}|{letterTypeName}|{title}|{fromPeople}|{fromTime}|{problem}|{office}|{answerTime}|{answer}"                   with open("yijian.txt"'a', encoding='utf-8') as fp:                     fp.write(itemm + '\n')             else:                 print(f"Failed to retrieve details for ID: {originalId}")           page += 1

标签:md,text,09,2024.09,find,soup,信件,div,col
From: https://www.cnblogs.com/dmx-03/p/18472092

相关文章

  • SSM学生宿舍管理系统-毕业设计源码09049
    目 录摘要1绪论1.1研究背景与研究意义1.2国内外研究现状1.3本文研究内容1.4论文结构与章节安排2 相关开发技术介绍2.1Java编程语言2.2SSM框架2.3MySQL数据库3 学生宿舍管理系统需求分析与设计3.1可行性分析3.1.1技术可行性分析3.1.2 ......
  • 《GESP5级2309 单选题判断题》 解析(附加编程题)
    温馨提醒,以下解析为个人观点,还是得请大佬多多指教(可以喷,但不能说我是复制粘贴!)一、单选题(每题2分,共30分)1、近年来,线上授课变得普遍,很多有助于改善教学效果的设备也逐渐流行,其中包括⽐较常用的手写板,那么它属于哪类设备?()。A.输入B.输出C.控制D.记录这是一道定义判断的......
  • Java 初学 day09
    java091、形式参数基本类型:当基本数据类型作为参数传递的时候,传递是具体的数值引用类型:数组:当数组作为方法的参数类型的时候,将来需要传递数组的地址值具体的类:当你看到一个类作为方法的参数类型的时候,将来调用需要传入该类或该类的子类的对象抽象类:当你看到......
  • 代码随想录算法训练营 | 188.买卖股票的最佳时机IV,309.最佳买卖股票时机含冷冻期,714.
    188.买卖股票的最佳时机IV题目链接:188.买卖股票的最佳时机IV文档讲解︰代码随想录(programmercarl.com)视频讲解︰买卖股票的最佳时机IV日期:2024-10-15想法:跟最佳时机III的区别在于dp[i][0]表示的是第i天没有操作,省去了会很麻烦。Java代码如下:classSolution{publicint......
  • 【系统架构设计师】案例分析考点情况分析和解题技巧(包括2009~2024年考点详情)
    更多内容请见:备考系统架构设计师-核心总结目录文章目录案例分析概况真题考点情况历年案例真题考点归纳案例分析解题技巧案例分析概况案例分析总共5道大题,后面4个题4选2。其中1道必答,2道选做(简答题,一个半小时)。自从2023年11月软考全面改革机考之后,已经没......
  • C4T避风型电动采光排烟天窗(图集09J621-2)
    C4T避风型电动采光排烟天窗是09J621-2《电动采光排烟天窗》图集中的一种窗型。也是一种现代化的建筑消防排烟通风采光设备,被广泛应用于多风地区厂房。C4T避风型电动采光排烟天窗配有成品避风罩,该避风置由钢制骨架和彩色钢板构成,固定在电动采光排烟天窗的基座上,将天窗四周都密......
  • 19009 后缀表达式
    ###思路1.**输入处理**:读取输入的后缀表达式,去掉末尾的`@`符号。2.**使用栈计算后缀表达式**:  -遍历表达式中的每个字符。  -如果是数字,压入栈中。  -如果是运算符,从栈中弹出两个数字进行运算,并将结果压入栈中。3.**输出结果**:栈中最后剩下的数字即为表......
  • 24.10.09
    类只加载一次静态变量能否定义在构造方法中?不能注意:静态变量内的赋值是所有对象包括子类共享的是在方法区内的,而成员变量的赋值是是在堆内存是伴随着对象的,其他对象是不共享的。方法区加载类信息,在加载Person类信息的时候一起加载静态变量kongfu并附上了默认值。在栈内......
  • 题解:P1709 [USACO5.5] 隐藏口令 Hidden Password
    ProblemLink[USACO5.5]隐藏口令HiddenPassword题目描述求最小表示法的开头字母在原字符串的位置。Solution最小表示法板子,双指针解决即可。Code#include<iostream>#include<algorithm>#include<string.h>#include<cstring>#include<cmath>#include<cstdio>......
  • 题解:[HNOI2009] 双递增序列
    ProblemLink[HNOI2009]双递增序列题目描述给定一个长度为\(n\)的序列(\(n\)为偶数),求是否可以把序列分成\(2\)个长度为\(\frac{n}{2}\)的递增序列。Solution首先想到定义\(f_i\)为一个序列以\(a_i\)结尾时另一个序列末尾最小值。但这样定义状态信息是不够的,考虑......