Python SQL不为整个URL列表插入数据

Python SQL不为整个URL列表插入数据,python,sql-server,web-scraping,grequests,Python,Sql Server,Web Scraping,Grequests,我正在使用grequest模块使用多个URL。 但是,我这里的问题是,我只从1个URL中获取插入数据库的数据,而不是列表中的每个URL 问题: 我怎样才能解决这个问题 在以下几行中,您将迭代响应: for response in requests: print(response.status_code) 然后在这里执行SQL代码: cursor.execute('INSERT INTO host.dbo.domain (ip, Host, HSTS, HPKP, XContentType

我正在使用
grequest
模块使用多个URL。 但是,我这里的问题是,我只从1个URL中获取插入数据库的数据,而不是列表中的每个URL

问题:

我怎样才能解决这个问题


在以下几行中,您将迭代响应:

for response in requests:
   print(response.status_code)
然后在这里执行SQL代码:

cursor.execute('INSERT INTO host.dbo.domain (ip, Host, HSTS, HPKP, XContentTypeOptions, XFrameOptions, ContentSecurityPolicy, XXssProtection, Server, Timestamp) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)', 
    (response.url, 1, response.headers.get('Strict-Transport-Security'), response.headers.get('Public-Key-Pins'), response.headers.get('X-Content-Type-Options'), response.headers.get('X-Frame-Options'), response.headers.get('Content-Security-Policy'), response.headers.get('X-XSS-Protection'), response.headers.get('Server'), timestamp))
使用变量响应及其属性/方法传递给SQL代码但是这个响应变量只是最后一个请求的结果(上一个是在您之前迭代时编写的)

如果您想为每个响应处理数据库,那么应该在for循环中执行SQL代码

cursor.execute('INSERT INTO host.dbo.domain (ip, Host, HSTS, HPKP, XContentTypeOptions, XFrameOptions, ContentSecurityPolicy, XXssProtection, Server, Timestamp) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)', 
    (response.url, 1, response.headers.get('Strict-Transport-Security'), response.headers.get('Public-Key-Pins'), response.headers.get('X-Content-Type-Options'), response.headers.get('X-Frame-Options'), response.headers.get('Content-Security-Policy'), response.headers.get('X-XSS-Protection'), response.headers.get('Server'), timestamp))