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()
python爬虫之PyQuery的更多相关文章
- Python爬虫之PyQuery使用(六)
Python爬虫之PyQuery使用 PyQuery简介 pyquery能够通过选择器精确定位 DOM 树中的目标并进行操作.pyquery相当于jQuery的python实现,可以用于解析HTML网 ...
- python爬虫神器PyQuery的使用方法
你是否觉得 XPath 的用法多少有点晦涩难记呢? 你是否觉得 BeautifulSoup 的语法多少有些悭吝难懂呢? 你是否甚至还在苦苦研究正则表达式却因为少些了一个点而抓狂呢? 你是否已经有了一些 ...
- python爬虫之PyQuery的基本使用
PyQuery库也是一个非常强大又灵活的网页解析库,如果你有前端开发经验的,都应该接触过jQuery,那么PyQuery就是你非常绝佳的选择,PyQuery 是 Python 仿照 jQuery 的严 ...
- python爬虫之pyquery学习
相关内容: pyquery的介绍 pyquery的使用 安装模块 导入模块 解析对象初始化 css选择器 在选定元素之后的元素再选取 元素的文本.属性等内容的获取 pyquery执行DOM操作.css ...
- 【Python爬虫】PyQuery解析库
PyQuery解析库 阅读目录 初始化 基本CSS选择器 查找元素 遍历 获取信息 DOM操作 伪类选择器 PyQuery 是 Python 仿照 jQuery 的严格实现.语法与 jQuery 几乎 ...
- Python爬虫之pyquery库的基本使用
# 字符串初始化 html = ''' <div> <ul> <li class = "item-0">first item</li> ...
- Python爬虫系列-PyQuery详解
强大又灵活的网页解析库.如果你觉得正则写起来太麻烦,如果你觉得BeautifulSoup语法太难记,如果你熟悉jQuery的语法,那么PyQuery就是你的最佳选择. 安装 pip3 install ...
- Python爬虫利器六之PyQuery的用法
前言 你是否觉得 XPath 的用法多少有点晦涩难记呢? 你是否觉得 BeautifulSoup 的语法多少有些悭吝难懂呢? 你是否甚至还在苦苦研究正则表达式却因为少些了一个点而抓狂呢? 你是否已经有 ...
- 小白学 Python 爬虫(23):解析库 pyquery 入门
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...
随机推荐
- 防止SQL/XSS攻击
function clean($str) { $str=trim($str); $str=strip_tags($str); $str=stripslashes($str ...
- windows通过使用xShell远程linux上传文件
上传文件rz与sz命令,远程linux您需要在系统上安装lrzsz工具包 安装例如,下面的: [xxxx@xxxx /]# yum install lrzsz 注意:我用命令yum,假设在Intern ...
- 相关web 片段记录安全性研究(不时更新)
一.有关html/css, js, php, cgi 的一些认识 当我们浏览器訪问一个网站的静态文件.会把文件内容都下载下来(一般压缩).当然假设遇到外联的css/js,会再发起请求得 到.假设我们右 ...
- 简明Python3教程 10.模块
简介 现在你已经知道通过定义函数可以在你的程序中复用代码.但当你想在你编写的其他程序中复用大量函数怎么办呢? 也许你可以猜到了,办法就是利用模块. 有各种编写模块的方式,但最简单的方式是创建一个以.p ...
- ASP.NET Core 新增用户 - ASP.NET Core 基础教程 - 简单教程,简单编程
原文:ASP.NET Core 新增用户 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 新增用户 上一章节我们实现了一个注册表单,但也留了一些东西还没完成, ...
- VUE线上通过nginx反向代理实现跨域
1.NGINX反向代理实现跨域 VUE代码中配置参考上一篇文章 nginx配置,红色框线内: 代码: location /list { proxy_set_header X-Real-IP $remo ...
- Android Training - 使用IntentService运行任务(Lesson 1 - 创建IntentService)
写在http://hukai.me/blog/android-training-18-running-background-service-lesson-1/ 版权声明:本文博客原创文章,博客,未经同 ...
- 经典c开源项目
1. Webbench Webbench是一个在Linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连 ...
- sql 多列求和
列相加即可注意Null不可加,先用ISNULL方法验证,设置默认值 SELECT ID, Name, Province, City, District, ISNULL(row1, 0), ISNULL ...
- jquery多条件选择器
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...