記得還是7月份下旬的時候無意看到pyquery庫,能做爬蟲,還不需要寫正則什麼的,還是蠻實用的,簡單的寫了一些**,抓取網路資料,裝的是anaconda 預設是2.7版本,**如下:
from pyquery import pyquery as pq
import pandas as pd
from datetime import datetime
import mysqldb
shars_tabls=pd.dataframe();
code=
name=
indname=
for i in range(1, 10):
urlxx = "" + str(i) + ".html"
v_source = pq(url=urlxx)
for data in v_source('tr'):
v_code = pq(data).find('td').eq(0).text()
v_name = pq(data).find('td').eq(1).text()
v_ind = pq(data).find('td').eq(5)
xx=x=""
for i in range(len(pq(v_ind).find('a'))):
v_indname = pq(v_ind).find('a').eq(i).text()
x=','.join(xx)
data =
frame =pd.dataframe(data)
frame1=frame[frame.v_name!=""]
frame1.to_excel("d:\\users\\zhoumeixu204\\desktop\\shearstable.xls",encoding="utf-8",index=false)
def test_create():
conn=mysqldb.connect(host="localhost",user="root",passwd="",db="dataframe")
cursor=conn.cursor()
sql="create table if not exists frame(code char(60) ,name varchar(500),indname varchar(500)) engine=innodb default charset=utf8"
cursor.execute(sql)
cursor.close()
conn.commit()
conn.close
test_create()
def test_insert():
dstart=datetime.now()
print "progaram start at"+dstart.strftime("%y-%m-%d %h:%m:%s")
conn=mysqldb.connect(host="localhost",user="root",passwd="",db="dataframe",use_unicode=true, charset="utf8")
cursor=conn.cursor()
sql="insert into frame(code,name,indname) values(%s,%s,%s)"
temp=zip(code,name,indname)
cursor.executemany(sql,temp)
cursor.close()
conn.commit()
conn.close
dend=datetime.now()
print("the time now is %s,total cost %s"%(dend.strftime("%y-%m-%d %h:%m:%s"),dend-dstart))
test_insert()
print("success")
利用python中的zipfile模組進行解壓縮
本文主要說解壓的問題 匯入模組 import zipfile 壓縮包所在路徑 file dir test.zip zf zipfie.zipfile file dir 檢視壓縮包內的檔案 以列表形式呈現 zf.namelist 將解壓的檔案儲存到指定的路徑下 zf.extractall some 匯...
Python中利用xpath解析HTML
在進行網頁抓取的時候,分析定位html節點是獲取抓取資訊的關鍵,目前我用的是lxml模組 用來分析xml文件結構的,當然也能分析html結構 利用其lxml.html的xpath對html進行分析,獲取抓取資訊。首先,我們需要安裝乙個支援xpath的python庫。目前在libxml2的 上被推薦的...
python中利用list實現stack
class mystack def init self self.maxsize 5000 self.max 1 self.l1 def setmaxsize self,s if isinstance s,int false print your input is not a number elif...