我已经构建了一个必须在大约5M页面上运行的爬虫(通过增加URL ID),然后解析包含"我需要"信息的页面.
在使用在网址(200K)上运行的算法并保存了好的和坏的结果后,我发现我浪费了很多时间.我可以看到有一些返回的减数我可以用来检查下一个有效的URL.
你可以很快地看到减数(少数第一个"好身份证") -
510000011 # +8
510000029 # +18
510000037 # +8
510000045 # +8
510000052 # +7
510000060 # +8
510000078 # +18
510000086 # +8
510000094 # +8
510000102 # +8
510000110 # etc'
510000128
510000136
510000144
510000151
510000169
510000177
510000185
510000193
510000201
Run Code Online (Sandbox Code Playgroud)
在抓取大约200K网址之后,这给了我14K的好结果我知道我浪费时间并且需要优化它,所以我运行一些统计数据并构建了一个函数来检查网址,同时增加id为8\18\17\8(顶部返回减数)等'.
这是功能 -
def checkNextID(ID):
global numOfRuns, curRes, lastResult
while ID < lastResult:
try:
numOfRuns += 1
if numOfRuns % 10 == 0:
time.sleep(3) # sleep every 10 iterations
if isValid(ID + 8): …Run Code Online (Sandbox Code Playgroud) 我试图获得一个函数,使用递归找到序列中的最大项目,但我不断收到错误,就像我尝试Max(范围(100)):
TypeError: unorderable types: int() > list()
Run Code Online (Sandbox Code Playgroud)
我是一个编程新手btw所以任何帮助非常感谢.
def Max(s)
if len(s) == 1:
return s[0]
else:
m = Max(s[1:])
if m > s:
return m
else:
return s[0]
Run Code Online (Sandbox Code Playgroud)