【发布时间】:2020-03-18 23:18:26
【问题描述】:
我正在构建一个网络爬虫,它将一遍又一遍地运行,它将根据 ID 插入新数据或更新数据。 if 'id' == 'id': 我的目标是避免重复。 MySQL 表已准备好并已构建。在使用 SQLAlchemy 在 MySQL DB 中插入/更新之前检查 python 列表的最佳 Pythonic 方法是什么?
以下是我的依赖:
from sqlalchemy.ext.automap import automap_base
from sqlalchemy.orm import Session
import requests
from bs4 import BeautifulSoup
from time import sleep
from datetime import datetime
import time
engine = create_engine("mysql+pymysql:///blah")
我使用一个函数从抓取的数据中分配每个<td>:
def functionscrape( **kwargs ):
scrape = {
'id': '',
'owner': '',
'street': '',
'city': '',
'state': '',
}
scrape.update(kwargs)
return (scrape)
下面的列表是一个示例,但会随着每次网络抓取而不断变化。
myList =
[{
'id': '111',
'owner': 'Bob',
'street': '1212 North',
'city': 'Anywhere',
'state': 'TX',
},
{
'id': '222',
'owner': 'Mary',
'street': '333 South',
'city': 'Overthere',
'state': 'AZ',
}]
【问题讨论】:
标签: python mysql web-scraping sqlalchemy mysql-python