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))