python爬虫之PyQuery
# -*- coding: UTF-8 -*- from pyquery import PyQuery as pq import re from datetime import datetime,timedelta import pymysql import sys reload(sys) sys.setdefaultencoding('utf8') def data_ana(item): return item.text().encode('utf-8').split('(')[0] def community_daily(start_date,date,week,month): filename='email_shequ'+start_date.strftime('%m%d')+'.htm' doc = pq(filename=filename,encoding='utf-8') community_tab=re.findall( r'\d{5,6}',doc('tr:eq(3) td:eq(0)').text())[0] topic_posts_app=doc('tr:eq(24) td:eq(1)') question_posts_app=doc('tr:eq(26) td:eq(1)') share_posts_app=doc('tr:eq(27) td:eq(1)') vote_posts_app=doc('tr:eq(28) td:eq(1)') bycar_posts_app=doc('tr:eq(29) td:eq(1)') posts_entry=doc('tr:eq(37) td:eq(1)') specific_posts_entry=doc('tr:eq(38) td:eq(1)') posts_publish=doc('tr:eq(39) td:eq(1)') list=[community_tab,data_ana(topic_posts_app),data_ana(question_posts_app),data_ana(share_posts_app),data_ana(vote_posts_app),data_ana(bycar_posts_app),data_ana(posts_entry),data_ana(specific_posts_entry),data_ana(posts_publish),week,month,date] print list return list if __name__=='__main__': s_date=sys.argv[1] e_date=sys.argv[2] s_year,s_month,s_day=s_date.split('-') e_year,e_month,e_day=e_date.split('-') start_date=datetime(int(s_year),int(s_month),int(s_day)) end_date =datetime(int(e_year),int(e_month),int(e_day)) community_daily_sql='''**** ''' db_params = {'host':'localhost', 'user':'****', 'passwd':'****', 'db':'****', 'charset':'utf8'} conn = pymysql.connect(**db_params) cursor = conn.cursor() while start_date<end_date: week_start=start_date-timedelta(start_date.weekday()) week_end=week_start+timedelta(days=6) week=week_start.strftime('%m/%d')+'~'+week_end.strftime('%m/%d') month=start_date.strftime('%Y/%m') date=start_date.strftime('%Y-%m-%d') community_daily_list=community_daily(start_date,date,week,month) cursor.execute(community_daily_sql,community_daily_list) start_date=start_date+timedelta(days=1) conn.commit() cursor.close() conn.close()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端