Python 在mysql数据库中插入每个值
我有一个python脚本,可以刮取域名。我只是解析了json响应,因为它呈现html代码。我使用pandas读取html并获得Python 在mysql数据库中插入每个值,python,mysql,python-3.x,pandas,web-scraping,Python,Mysql,Python 3.x,Pandas,Web Scraping,我有一个python脚本,可以刮取域名。我只是解析了json响应,因为它呈现html代码。我使用pandas读取html并获得正文,这是html内容。我试着打印它,然后得到了正确的值。现在我得到了它,我想将每个结果保存在mysql数据库中。我怎样才能做到呢 这是我的剧本 mydb = mysql.connector.connect( host="localhost", user="root", passwd="", database='domainscrape' ) m
正文
,这是html内容。我试着打印它,然后得到了正确的值。现在我得到了它,我想将每个结果保存在mysql数据库中。我怎样才能做到呢
这是我的剧本
mydb = mysql.connector.connect(
host="localhost",
user="root",
passwd="",
database='domainscrape'
)
mycursor = mydb.cursor()
print(mydb)
pageNumber = 0
while True:
driver.implicitly_wait(3)
driver.get('https://reversewhois.domaintools.com/?ajax=mReverseWhois&call=ajaxGetPreviewPage&q=%5B%5B%5B%22whois%22%2C%222%22%2C%22VerifiedID%40SG-Mandatory%22%5D%5D%5D&o='+str(pageNumber))
time.sleep(3)
pre = driver.find_element_by_tag_name("pre").text
data = json.loads(pre)
if data['body']:
table = data['body']
tables = pd.read_html(table,skiprows=1)
df = tables[-1]
print(df.to_string(index=False))
pageNumber += 1
continue
else:
break
我得到了这样的结果
0vh-cl0ud.sg 2017-10-12 KEY-SYSTEMS GMBH
0vh-cloud.sg 2017-10-12 KEY-SYSTEMS GMBH
0vhcloud.sg 2017-10-12 KEY-SYSTEMS GMB
尝试将其保存到csv文件,我得到了很好的结果
df.to_csv('Domains.csv',mode='a',sep='','index=False)
但是我不想将csv导入mysql。我只想直接将现有mysql表中的行插入其中
我如何将其格式化为
0vh-cl0ud.sg
是域2017-10-12
是日期,KEY-SYSTEMS GMBH
是公司?我不包括标题,因为在每次迭代中它都打印标题,我不需要它。它应该是这样的:
mycursor = mydb.cursor()
mycursor.execute("INSERT INTO table_name(domain, date, company) VALUES ('0vh-cl0ud.sg', '2017-10-12', 'KEY-SYSTEMS GMBH'))"
在数据被刮取后,应该将该片段放入循环中。请浏览评论中的上述链接,以便更好地了解该过程。我的理解是,您有一个dataframe,您希望在mysql数据库中创建一个新表或写入(更新)现有表。如果是这样的话,我强烈建议你减少这个问题,只关注这方面。重复出现的问题,集中在某个特定方面,得到回答的速度更快,而且经常有更多的人尝试回答。好的,先生@cypherx看看这个:可能是重复的。但是我怎样才能得到它的值呢?和indexcreate类似,它创建了一个包含domain、date和company列的表。创建另一列具有自动增量属性的“索引”。这样,您就可以继续将公司添加到表中。我希望我对你所问的“价值观”有了正确的理解