python爬虫之PyQuery
2024-08-31 21:40:42
# -*- 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()
最新文章
- 常用shell命令中你所不熟悉的参数
- 【转载】关于在vs2013中配置opengl红宝书第八版环境
- 在CentOS7上安装RabbitMQ
- 关于集合的练习P235-1,2,3
- VCL Tclientsocket, Tserversocket控件安装方法
- Hibernate,Session清理缓存时间点
- poj1286
- vmware-vdiskmanager
- Lua学习笔记9:多文件
- SurfaceView的一个小应用:开发示波器
- 我的第三个网页制作:b、i、s、u、sub、sup标签的使用
- Leetcode_122_Best Time to Buy and Sell Stock II
- 使用go-template自定义kubectl get输出
- 实时监控input输入值变化
- hdu-3671-tarjin/割点方案
- Delphi 关于DBGrid多选删除(shitf多选,ctrl多选)
- html 画圆
- 配置私有仓库(使用registry镜像搭建一个私有仓库)
- 转:从产品经理的角度算一算,做一个app需要花多少钱?
- windows的虚拟磁盘(vhd,vhdx)使用
热门文章
- Java InputStream、String、File相互转化 --- good
- E: Could not get lock /var/lib/dpkg/lock(无法获得锁)
- MySQL中 MySQL X.X Command Line Client 一闪而过
- Application与Context关联
- 在.net core项目中想使用类似iis上面虚拟目录的功能
- DDD实战9 经销商领域上下文
- Python算法(含源代码下载)
- WPF3D绘图的基础
- 白平衡自己主动(AWB)算法---2,颜色计算
- android 如何使用jar替换java代码编译