我是 Mysqldb 和 Python 的新手。我设法将所有链接存储到一个表中。现在我想检索这些链接并使用 urllib 获取它们。我的代码应该将它们保存到 Mysql 表中。
import MySQLdb
import urllib
mydb = MySQLdb.connect(
host='localhost',
user='root',
passwd='shailang',
db='urls')
cursor = mydb.cursor()
with open ("s.txt","r") as file:
for line in file:
cursor.execute("INSERT INTO url(links) VALUES(%s)", line)
cursor.execute("SELECT * FROM url")
links = cursor.fetchall()
for row in links:
page = urllib.urlopen(row[0])
text = page.read()
#close the connection to the database.
mydb.commit()
cursor.close()
print "Done"
最佳答案
在for
循环中,使用row[0]
而不是row
。
for row in links:
page = urllib.urlopen(row[0])
text = page.read()
数据库中的一条记录可以有多个值。 row
变量是一个元组(包含特定记录的列的值),links
变量是一个列表(包含代表记录的元组)。
由于您只有一列,并且您想要该列的数据,因此我们需要使用 row[0]
。
关于python - 如何从表中检索行并使用 urllib 获取/打开每个链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32990467/