代码优化def number_url(n,m): ##设置起始值,n为开始索引,m为结束索引,从第n个网页开始爬,爬到第m-1个网页 kong='空' for i in range(n,m): time.sleep(random.random()*30) try: try: j=get_jingdian_name(jingdian_url_readcsv_list[i]) jingdian_name1.extend(j) except AttributeError: jingdian_name1.extend(kong) except IndexError: jingdian_name1.extend(kong) if jingdian_name1[-1] == kong: jingdian_pingfen1.extend(kong) jingdian_menpiao1.extend(kong) jingdian_gonglue1.extend(kong) else: try: p=get_jingdian_pingfen(jingdian_url_readcsv_list[i]) jingdian_pingfen1.extend(p) except AttributeError: jingdian_pingfen1.extend(kong) try: m=get_jingdian_menpiao(jingdian_url_readcsv_list[i]) jingdian_menpiao1.extend(m) except AttributeError: jingdian_menpiao1.extend(kong) try: g=get_jingdian_gonglue(jingdian_url_readcsv_list[i]) jingdian_gonglue1.extend(g) except AttributeError: jingdian_gonglue1.extend(kong) print("当前爬取到第"+str(i)+"个元素")
时间: 2023-05-18 14:07:21 浏览: 89
extraction.zip_M?n
这个函数的作用是生成一个长度为n的列表,其中每个元素都是一个长度为m的随机字符串,且每个字符串都以"http://"开头。
如果要对这个函数进行优化,可以考虑以下几点:
1. 使用列表推导式来生成列表,可以减少代码量和运行时间。
2. 使用random模块的choices函数来生成随机字符串,可以简化代码。
3. 使用字符串拼接的方式来生成完整的URL,可以避免重复的"http://"。
下面是优化后的代码:
import random
def number_url(n, m):
return ["http://" + ''.join(random.choices('abcdefghijklmnopqrstuvwxyz', k=m)) for _ in range(n)]
阅读全文