抓取快訊爬蟲

2021-08-18 11:00:59 字數 2545 閱讀 5797

#!/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.在虛...