import pymongo
import requests
import re
# # 建立连接
client = pymongo.MongoClient(host='localhost',port=27017)
print(client)
# 创建库
db = client.data
# db = client['bigdata27']
print(db)
# 建集合
collection = db.lottery1
def save(dic):
collection.insert_one(dic)
def seq():
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36 Core/1.94.172.400 QQBrowser/11.1.5140.400'
}
url = 'https://datachart.500.com/ssq/history/history.shtml'
responese = requests.get(url=url,headers=headers)
responese.encoding='gb2312'
data = responese.text
# print(data)
pattern = re.compile(r'.*?<tr class="t_tr1"><!--<td>2</td>--><td>(?P<NO>.*?)</td>.*?'
r'<td class="t_cfont2">(?P<red1>.*?)</td>.*?'
r'<td class="t_cfont2">(?P<red2>.*?)</td>.*?'
r'<td class="t_cfont2">(?P<red3>.*?)</td>.*?'
r'<td class="t_cfont2">(?P<red4>.*?)</td>.*?'
r'<td class="t_cfont2">(?P<red5>.*?)</td>.*?'
r'<td class="t_cfont2">(?P<red6>.*?)</td>.*?'
r'<td class="t_cfont4">(?P<blue>.*?)</td>',re.S)
lists = re.finditer(pattern,data)
for i in lists:
dic = {
'期号':i.group('NO'),
'红1': i.group('red1'),
'红2': i.group('red2'),
'红3': i.group('red3'),
'红4': i.group('red4'),
'红5': i.group('red5'),
'红6': i.group('red6'),
'蓝': i.group('blue')
}
print(dic)
save(dic)
seq()
500彩票网双色球数据
于 2023-07-29 00:48:09 首次发布
该代码示例展示了如何使用Python的pymongo库连接到本地MongoDB服务器,创建数据库和集合。然后,它利用requests库从一个彩票历史数据网址抓取信息,使用正则表达式解析HTML内容,提取期号、红色球和蓝色球的数字,并将这些数据保存到MongoDB的集合中。
摘要由CSDN通过智能技术生成