同花順爬虫類

5029 ワード

1.)プレートの情報を記録します.次のようにプレートの情報です.
['881101','      ','http://q.10jqka.com.cn/thshy/detail/code/881101/']
         ,            。 --block.

MariaDB [tonghuashun]> show create table block \G;
*************************** 1. row ***************************
       Table: block
Create Table: CREATE TABLE `block` (
  `code` mediumint(9) DEFAULT NULL,
  `name` varchar(6) DEFAULT NULL,
  `url` varchar(48) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8

次に、挿入されたデータのコードを示します.
[root@VM_131_54_centos pachong]# cat block.py 
#encoding:utf8
from urllib import request
from lxml import etree
import pymysql

"""
        mysql block  ,          。
"""
def getBlockMessage(url):
    ua_headers= {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36"}
    req = request.Request(url,headers=ua_headers)
    page = request.urlopen(req).read()
    page = etree.HTML(page)
    block_content = page.xpath('//div[@class="cate_items"]/a')
    block_url = page.xpath('//div[@class="cate_items"]/a/@href')
    tmp = []
    if len(block_content) == len(block_url):
        for x in range(len(block_url)):
            code = block_url[x].split("/")[-2]
            tmp.append([code,block_content[x].text,block_url[x]])
    return tmp

def insertIntoMysql(data):
    conn = pymysql.connect(host="localhost",user="root",password="jokerzhang",
                db="tonghuashun",charset="utf8")
    cur = conn.cursor()
    for x in data:
        sql="insert into block values({0},'{1}','{2}')".format(x[0],x[1],x[2])
        cur.execute(sql)
    conn.commit()
    conn.close()

if __name__ == "__main__":
    url = "http://q.10jqka.com.cn/thshy/"
    data = getBlockMessage(url)
    insertIntoMysql(data)

同花顺爬虫_第1张图片
2)プレートの情報は既に存在しているので,単一プレートの価格の情報を取得する.同花顺爬虫_第2张图片は、スクライブボックスのデータだけでよい.このデータはリアルタイムで更新されます.
         
            
  9:15—9:25    
9:30—11:30    
13:00—15:00  
        

次のような要件があります.
1)      ,          
2)               
3)   9:30—11:30    13:00—15:00   。
4)         ,      ,    1        。