nangua111111 发表于 2013-3-18 23:10:05

如何做一个完整的网站数据获取,并写入到sqlite数据库

本帖最后由 nangua111111 于 2013-3-20 22:24 编辑

菜鸟,看了教材但是不懂,各位高手帮忙一下,以便我们这种菜鸟能完整的学习一下。#include <ie.au3>
#include <array.au3>

$oIE1=_IECreate("http://xlinesoft.com/livedemo/shopcart/admin/login.php");1、建立网页衔接
$oIE = _IEAttach("http://xlinesoft.com/livedemo/shopcart/admin/login.php","url")
$Ele1 = _IEGetObjByName($oIE,"username") ;注意相同name情况,需要第三参数
_IEFormElementSetValue($Ele1,"admin@test.com")
$Ele2 = _IEGetObjByName($oIE,"password") ;注意相同name情况,需要第三参数
_IEFormElementSetValue($Ele2,"admin")
_IELinkClickByText($oIE,"Submit")
;;;;;;;;;以上登陆界面;;;;;;;
_IELinkClickByText($oIE,"States")
$Ele3=_IEAttach("http://xlinesoft.com/livedemo/shopcart/admin/shopstates_list.php","Embedded")
$oIEstates=_IEBodyReadHTML($Ele3);获取代码
MsgBox(0,"",$oIEstates)
;正则表达式获取表格数据


Local $Test

    $Test = StringRegExp($oIEstates, '<span id="edit.+_State_name" >(.+)', 3)
       
   
_ArrayDisplay($Test, UBound($Test))后续还在研究。{:face (319):}需要获取表格数据如图片
持续更新研究中

用帮助没有问题,但是显示不了

sniperone 发表于 2013-3-19 10:17:55

虽然不明白,帮你顶下吧~
坐等高手~

cfs43210 发表于 2013-3-19 11:40:48

帮你顶下吧~

ethantco 发表于 2013-3-19 15:53:04

帮顶,顺便学习

nangua111111 发表于 2013-3-19 16:25:48

菜鸟们一起来解决吧{:face (356):}

xlj310 发表于 2013-3-20 13:43:58

写入数据库这块我也想学,读数据我也经常在做,我一般是读网页上的表

shqf 发表于 2013-3-20 15:31:28


#include <Array.au3>
#include <ie.au3>
#include <array.au3>

$oIE=_IEAttach("http://xlinesoft.com/livedemo/shopcart/admin/shopstates_list.php","URL")
$oTable=_IETableGetCollection ($oIE ,10)
$array=_IETableWriteToArray($oTable)
_ArrayDisplay($array,'Debug~~~')

nangua111111 发表于 2013-3-20 19:40:48

本帖最后由 nangua111111 于 2013-3-20 19:47 编辑

#include <Array.au3>
#include <array.au3>

#AutoIt3Wrapper_run_debug_mode=Y
$oIE1=_IECreate("http://xlinesoft.com/livedemo/shopcart/admin/login.php");1、建立网页衔接
;$oIE = _IEAttach("http://xlinesoft.com/livedemo/shopcart/admin/login.php")
$Ele1 = _IEGetObjByName($oIE1,"username") ;注意相同name情况,需要第三参数
_IEFormElementSetValue($Ele1,"admin@test.com")
$Ele2 = _IEGetObjByName($oIE1,"password") ;注意相同name情况,需要第三参数
_IEFormElementSetValue($Ele2,"admin")
_IELinkClickByText($oIE1,"Submit")
;;;;;;;;;以上登陆界面;;;;;;;
_IELinkClickByText($oIE1,"States")
;;进入表格页面
$oIE=_IEAttach("http://xlinesoft.com/livedemo/shopcart/admin/shopstates_list.php","URL")
$oTable=_IETableGetCollection ($oIE ,10);获取页面里面的第十张表格
$array=_IETableWriteToArray($oTable,true);将表格内容转换成数组,并行列对换。
_ArrayDisplay($array,'Debug~~~')感谢 shqf
接下来是怎么把数组写入sqlite 流程,继续摸索{:face (270):}

nangua111111 发表于 2013-3-20 22:21:20

本帖最后由 nangua111111 于 2013-3-21 10:22 编辑

#include <ie.au3>
#include <Array.au3>
#include <SQLite.au3>
#include <SQLite.dll.au3>


#AutoIt3Wrapper_run_debug_mode=Y
$oIE1=_IECreate("http://xlinesoft.com/livedemo/shopcart/admin/login.php");1、建立网页衔接
;$oIE = _IEAttach("http://xlinesoft.com/livedemo/shopcart/admin/login.php")
$Ele1 = _IEGetObjByName($oIE1,"username") ;注意相同name情况,需要第三参数
_IEFormElementSetValue($Ele1,"admin@test.com")
$Ele2 = _IEGetObjByName($oIE1,"password") ;注意相同name情况,需要第三参数
_IEFormElementSetValue($Ele2,"admin")
_IELinkClickByText($oIE1,"Submit")
;;;;;;;;;以上登陆界面;;;;;;;
_IELinkClickByText($oIE1,"States")

$oIEstates=_IEBodyReadHTML($oIE1);获取代码
;MsgBox(0,"",$oIEstates)
;正则表达式获取表格数据
;$open = FileOpen("test.txt",1)


$oIE=_IEAttach("http://xlinesoft.com/livedemo/shopcart/admin/shopstates_list.php","URL")
$oTable=_IETableGetCollection ($oIE ,10)
$array=_IETableWriteToArray($oTable,true)
_ArrayDisplay($array,'Debug~~~')


;sqlite语句
_SQLite_Startup ()
If @error Then
    MsgBox(16, "SQLite Error", "SQLite.dll Can't be Loaded!")
    Exit - 1
EndIf

_SQLite_Open(@ScriptDir & "\Database.db") ; 建立打开数据库
If @error Then
    MsgBox(16, "SQLite Error", "Can't Load Database!")
    Exit - 1
EndIf

_SQLite_Exec (-1, "CREATE TABLE Radio ('"&$array&"','"&$array&"','"&$array&"');");建立表,注意'"&$array[$i]&"'表达式

For $i=2 to 21 Step +1
   _SQLite_Exec (-1, "INSERT INTO Radio VALUES ('"&$array[$i]&"','"&$array[$i]&"','"&$array[$i]&"');");写入数组,注意'"&$array[$i]&"'表达式
next


_SQLite_Close ()
_SQLite_Shutdown ()

nangua111111 发表于 2013-3-20 22:24:05

下一步学习怎么用正则获取,一直解决不了希望高手帮忙

xms77 发表于 2013-3-21 21:50:03

回复 8# nangua111111
好像数据没有取全啊?

xms77 发表于 2013-3-21 21:51:31

回复 10# nangua111111
可以用Post/Get获取网页代码,然后正则提取数据

nangua111111 发表于 2013-3-22 00:42:41

回复 12# xms77
谢谢,我再试试看

nangua111111 发表于 2013-3-22 23:08:12

还在练习 查询和显示语句{:face (356):},sqlite好像对中文支持不好啊。
大家能帮忙说一下注意点吗?

minterz 发表于 2013-3-23 19:59:20

哦也,扒站啊
linux下curl或者wget 效率比较高
页: [1] 2
查看完整版本: 如何做一个完整的网站数据获取,并写入到sqlite数据库