#!/usr/bin/env python
#coding=utf-8
import urllib2
import re
import time, datetime
import pymysql.cursors
import uuid
class spider:
'''金色財經快訊爬蟲類
'''classstr="類成員變數"
def __init__(self,date,level,item_list):
self.date=date
self.level=level
self.item_list=item_list
def load_page(self,url):
'''傳送url位址,返回html
'''headers=
req=urllib2.request(url,headers=headers)
response=urllib2.urlopen(req)
html=response.read()
html=html.replace("
","")#目的為過濾掉文章內容中的換行,提前過濾
#用正規表示式對html進行過濾,獲取日期內容列表和時間
pattern=re.compile(r'(.*?)
.*?href="/lives/\d*.htm" target="_blank">(.*?)',re.s)
item_list=pattern.findall(html)
#獲取日期
date1=html.find('date1=date1+26
date=html[date1:date1+10]
#獲取星級
bnum=html.find('')
lnum=html.find('')
blhtml=html[bnum:lnum]
level=blhtml.count('')
return date,level,item_list
def jinse_spider(self):
'''金色財經快訊爬蟲
'''#html=load_page("")
#print html
#main
if __name__ == '__main__':
#建立一下spider物件
myspider=spider()
#myspider.jinse_spider()
#the_page=myspider.jinse_spider()
date,level,item_list=myspider.load_page("")
#for items in item_list:
items=item_list[0]
content=items[1]
uid=uuid.uuid1()
uid=str(uid).replace("-","")
datatime=date+' '+items[0]+':00'
level=str(level)
sqlstr = "insert into info_news_flash (id,content,create_date,level) values('%s','%s','%s','%s')" %(uid,content,datatime,level)
#break
#conn = pymysql.connect(host='localhost', port=3306, user='root', password='root', db='virtual_coin',charset="utf8", cursorclass=pymysql.cursors.dictcursor)
#connect()方法用於建立與資料庫的連線,裡面可以指定引數,這一步只是連線到了資料庫,運算元據庫還需要下面的游標
cur = conn.cursor()#通過獲取到的conn資料庫的cursor方法建立游標
qstr="select id from info_news_flash where content='%s'" %(content)
#print qstr
#print "\r\n"
cur.execute(qstr)
data = cur.fetchone()
if data==none:
print "查詢結果為空,進行資料插入".decode("utf-8").encode("gb2312")+"\r\n"
#.decode("utf-8").encode("gb2312")
#上一行**跟在上上行後面,windows系統需要,linux不需要
cur.execute(sqlstr)
conn.commit() #提交資料進資料庫
else:
#print data
print "查詢結果已存在,不進行任何操作".decode("utf-8").encode("gb2312")+"\r\n"
cur.close()
conn.close() #關閉資料庫連線
python 爬蟲 基本抓取
首先,python中自帶urllib及urllib2這兩個模組,基本上能滿足一般的頁面抓取,另外,requests 也是非常有用的。對於帶有查詢欄位的url,get請求一般會將來請求的資料附在url之後,以?分割url和傳輸資料,多個引數用 連線。data requests data為dict,js...
python 爬蟲,抓取小說
coding utf 8 from bs4 import beautifulsoup from urllib import request import re import os,time 訪問url,返回html頁面 defget html url req request.request url ...
Python爬蟲抓取(一)
開啟cmd 1.新建虛擬環境virtualenv 環境名稱,主要是我們開發乙個專案,不可能在源目錄下進行開發,新建虛擬目錄可以不汙染源環境,可以切換到你需要新建的目錄下再建,預設在python的安裝目錄下 2.進入虛擬環境 cd 環境名稱 3.啟用虛擬環境 scripts activate 4.在虛...