流程:模擬登入→獲取html頁面→正則解析所有符合條件的行→逐一將符合條件的行的所有列存入到csvdata臨時變數中→寫入到csv檔案中
核心**:
####寫入csv檔案中
with open(self.csvfilename, 'wb') as csvfile:
spamwriter = csv.writer(csvfile, dialect='excel')
#設定標題
spamwriter.writerow(["遊戲賬號","使用者型別","遊戲名稱","渠道","充值型別","充值金額","返利金額","單號","日期"])
#將csvdata中的資料迴圈寫入到csvfilename檔案中
for item in self.csvdata:
spamwriter.writerow(item)
完整**:
# coding=utf-8
import urllib
import urllib2
import cookielib
import re
import csv
import sys
class pyw():
#初始化資料
def __init__(self):
#登入的url位址
self.loginurl=""
#所要獲取的url位址
self.pageurl=""
# 傳輸的資料:使用者名稱、密碼、是否記住使用者名稱
self.postdata = urllib.urlencode()
#第幾筆記錄
self.pageindex=0;
#迴圈獲取共4頁內容
self.pagetotal=1
#正則解析出tr
self.trexp=re.compile("(?isu)]*>(.*?)")
#正則解析出td
self.tdexp = re.compile("(?isu)]*>(.*?)")
#建立cookie
self.cookie = cookielib.cookiejar()
#構建opener
#解析頁面總頁數
self.total=4
#####設定csv檔案
self.csvfilename="pyw.csv"
#####儲存csv資料
self.csvdata=
#解析網頁中的內容
def getpageitem(self,pagehtml):
#迴圈取出table中的所有行
for row in self.trexp.findall(pagehtml):
#取出當前行的所有列
coloumn=self.tdexp.findall(row)
#判斷符合的記錄
if len(coloumn) == 9:
# print "遊戲賬號:%s" % coloumn[0].strip()
# print "使用者型別:%s" % coloumn[1].strip()
# print "遊戲名稱:%s" % coloumn[2].strip()
# print "渠道:%s" % coloumn[3].strip()
# print "充值型別:%s" % coloumn[4].strip()
# print "充值金額:%s" % coloumn[5].strip().replace("¥", "")
# print "返利金額:%s" % coloumn[6].strip().replace("¥", "")
# print "單號:%s" % coloumn[7].strip()
# print "日期:%s" % coloumn[8].strip()
#拼湊行資料
d=[coloumn[0].strip(),
coloumn[1].strip(),
coloumn[2].strip(),
coloumn[3].strip(),
coloumn[4].strip(),
coloumn[5].strip().replace("¥", ""),
coloumn[6].strip().replace("¥", ""),
coloumn[7].strip(),
coloumn[8].strip()]
#模擬登入並獲取頁面資料
def getpagehtml(self):
try:
#模擬登入
request=urllib2.request(url=self.loginurl,data=self.postdata)
resulthtml=self.opener.open(request)
#開始執行獲取頁面資料
while self.pagetotal<=self.total:
#動態拼湊所要解析的url
m_pageurl = self.pageurl % self.pagetotal
#計算當期第幾頁
self.pagetotal = self.pagetotal + 1
#獲取當前解析頁面的所有內容
resulthtml=self.opener.open(m_pageurl)
#解析網頁中的內容
self.getpageitem(resulthtml.read())
####寫入csv檔案中
with open(self.csvfilename, 'wb') as csvfile:
spamwriter = csv.writer(csvfile, dialect='excel')
#設定標題
spamwriter.writerow(["遊戲賬號","使用者型別","遊戲名稱","渠道","充值型別","充值金額","返利金額","單號","日期"])
#將csvdata中的資料迴圈寫入到csvfilename檔案中
for item in self.csvdata:
spamwriter.writerow(item)
print "成功匯出csv檔案!"
except exception,e:
print "404 error!%s" % e
#例項化類
p=pyw()
#執行方法
p.getpagehtml()
匯出結果
python三 之簡單爬蟲csv格式儲存
中國圖書網裡面計算機類別的書籍資料,並存入csv檔案 選取 www.bookschina.com kinder 27000000 前面的步驟都一樣,這裡主要不一樣的是主要檔案和pipeline檔案 1 編寫items檔案 class doubanbookitem scrapy.item define...
python 使用csv模組匯出csv檔案問題
python3中存csv亂碼的問題 with open filename,a newline encoding utf 8 sig as f 中文需要設定成utf 8格式 open 增加encoding得設定即可 python2不支援 python2中中文亂碼問題 用記事本開啟匯出得csv檔案,另存...
python爬蟲簡單 python爬蟲 簡單版
學過python的帥哥都知道,爬蟲是python的非常好玩的東西,而且python自帶urllib urllib2 requests等的庫,為爬蟲的開發提供大大的方便。這次我要用urllib2,爬一堆風景。先上重點 1 response urllib2.urlopen url read 2 soup...