【发布时间】:2017-07-26 07:19:23
【问题描述】:
我从电子表格中提取了大约 100,00 个值并获取第一个结果以查看它们是 http 还是 https。脚本工作正常(对我的目的来说足够好),但在循环的第 70 次迭代后出现 503 错误。
关于如何获得我需要的查询数量有什么想法/想法/建议?
代码:
import pandas as pd
import re
import time
library_list = pd.read_csv("PLS_FY2014_AE_pupld14a.csv")
zero = 0
with_https = 0
for i in library_list['LIBNAME']:
for url in search(library_list['LIBNAME'][zero], num = 1, start = 0, stop = 1):
time.sleep(5)
zero += 1
print(zero)
if 'https' in url:
with_https += 1
【问题讨论】:
-
是的,我最好的计划是将 time.sleep() 提高到大约 20 秒,但这会使抓取速度非常慢。我希望有人找到了一种方法来创建不会被阻止或违反 ToS 的脚本。
-
当您收到 503 错误时,您是否检查过“错误页面最有可能显示验证码”,您是否可以进行身份验证并允许脚本继续执行?
-
hm 好的,
search函数中还有一个pause参数(例如`search(query, tld='com', lang='en', num=10, start= 0, stop=None, pause=2.0)` 可能会或可能不会帮助暂停,但请注意文档中所说的pause (float) - Lapse to wait between HTTP requests. A lapse too long will make the search slow, but a lapse too short may cause Google to block your IP. Your mileage may vary! -
听起来不错,报告任何进展,祝你好运
标签: python python-2.7 google-search